Multiple Programming Languages or Problem Solving

Author Topic: Multiple Programming Languages or Problem Solving  (Read 8427 times)

Offline motiur.swe

  • Jr. Member
  • **
  • Posts: 72
  • Teamwork Begins By Building Trust.
    • View Profile
Multiple Programming Languages or Problem Solving
« on: November 01, 2017, 10:53:33 PM »
First of all, I like to say that "Programming language is nothing just syntax and set of rules but logical thinking and problem solving capacity should be our goal."

I suggest my students who come to me for advice from career perspective (as I have industry experience),I suggest them to start with C from any book(hard copy not soft copy), not from online first. Cause from the beginning if students started searching from web then they will get confused. They can't set their start point like from where they should start.

So, my suggestion is to encourage students to develop logic using C from any good bangla book rather than internet. After successfully completion of book then they will start to solve problem from ad hoc to complex step by step.

From our department, we need to develop a lab facility where students can work to develop their skills under a proper guidance. Even also as the last meeting discussion, we need to ensure that all of the advisor encourages their students to develop logical thinking capacity using C.

I believe that who can develop their problem solving capacity using C, they can easily move any language when need cause programming language is just syntax. So, at first , need to develop problem solving mentality and capacity among the students which is most important part as a student of software engineering.

Want opinion from experts.

Thanks.
« Last Edit: November 01, 2017, 10:58:50 PM by motiur.swe »
Sheikh Shah Mohammad Motiur Rahman
Lecturer (Senior Scale), Department of Software Engineering
Daffodil International University
+8801718 297606
motiur.swe@diu.edu.bd
http://faculty.daffodilvarsity.edu.bd/profile/swe/motiur.html

Offline Dipto_Paul

  • Newbie
  • *
  • Posts: 3
  • Test
    • View Profile
Re : Multiple Programming Languages or Problem Solving
« Reply #1 on: November 02, 2017, 04:18:22 PM »
I just want to tell a short story. Once a friend of mine was learning C from a book. He quickly finished the first chapter and went to exercises. The first chapter doesn't cover anything of loop but tells the reader to print a pyramid. Without having any concept of loop he printed a star pyramid. One day he showed me his code :

printf("*");
printf("**");
printf("***");
printf("****");
printf("*****");

So it is also very important that the resources you follow are good enough to guide you and not send you on the wrong track.
« Last Edit: November 02, 2017, 04:20:39 PM by Dipto_Paul »

Offline motiur.swe

  • Jr. Member
  • **
  • Posts: 72
  • Teamwork Begins By Building Trust.
    • View Profile
Re: Multiple Programming Languages or Problem Solving
« Reply #2 on: November 02, 2017, 04:47:53 PM »
@Dipto_Paul , great observation and your story also inspireable to new students. Please try to share your story and thoughts to your juniors so that they can get right way to start their journey as a student of software engineering.

Let's work for "Self Development" through sharing our thoughts to each other and help each other to take proper decision.
Sheikh Shah Mohammad Motiur Rahman
Lecturer (Senior Scale), Department of Software Engineering
Daffodil International University
+8801718 297606
motiur.swe@diu.edu.bd
http://faculty.daffodilvarsity.edu.bd/profile/swe/motiur.html

Offline Dipto_Paul

  • Newbie
  • *
  • Posts: 3
  • Test
    • View Profile
Re: Multiple Programming Languages or Problem Solving
« Reply #3 on: November 02, 2017, 09:02:13 PM »
I think everyone has a favorite programming language, the one that he feels comfortable with. I always see posters workshop on this , training on that... The fact is that students practice those things only while the training/workshop is on as a result some months later they forget most of the things they learn. Had there been a club that deals with only one programming language like only C or only Java or only Python the students who were in that club would be on the run and could stay updated about it. I may be wrong but I as far as I know there is no such club.

If I open a workshop titled "Java For Beginners", only those people who have little or no knowledge of Java would join it. Who have done high level programming in Java would not go near it.

If I open a workshop titled "High Level Programming In Ruby" most people could not join it because it requires basic Ruby knowledge which they don't have.

But as club is not for a limited time like 1 month and not for any particular level of programmers like beginner or advanced, people of all levels who are passionate about it would join , teach and learn.

Offline Razu_Ahmed

  • Newbie
  • *
  • Posts: 2
  • Test
    • View Profile
Re: Multiple Programming Languages or Problem Solving
« Reply #4 on: November 03, 2017, 10:39:34 AM »
Before I join the discussion I wanna say first three years should be fixed for problem-solving as a computer science student. I think I may answer this question although I started programming when I was in the first-year student. I think you know how much hard work is needed if you want to qualify for world finals or a googler. There are many strong teams/students from different universities. And they all practice very hard for this. Qualifying for world finals/code jam would be a dream come true for each contestant.
 
So let's make a plan for qualifying to world finals/code jam. In the very first year of study, one should learn the language in the first 2-3 months. You need to choose a language between C++ or python. I will recommend C++ as it is better suited for the programming contest. And make sure that your language skill is good by this time(i.e. you can code whatever you are thinking). After that, you are gonna need to finish the following works by the end of the first year.
Open account in UVa, Codeforces, LightOJ, Topcoder, SPOJ, and USACO.
Solve 200+ ad-hock problems in UVa.
Learn basic DP and solve some classical problems.
Learn to use stack, queue, priority queue, lists and solve problems with them.
Learn basic graph algorithms like DFS, BFS, Dijkstra, Floyd-Warshall, MST.
Solve some problems that require the greedy solution.
Learn basic number theories and geometry.
Solve 500+ problems overall.
Participate in national contests, codeforces and topcoder contests.
So that pretty much finishes the first year. There are also several topics I didn't mention(like sorting/searching), these are so basic topic and should be covered when solving the ad-hock problem. After this your rating should be blue in codeforces and green in topcoder(make this the achievement).
 
So for the second year, you are going to learn some advanced algorithms. We can make another list for it.
Advanced data structures, segment tree, and variations(solve at-least 50 problems on it), HLD(solve the QTREE's and you are good to go).
Solve some advanced DP problems. LightOJ has some great problems and they should be solved as much as possible,
Solve some hard problems on the graph.
Learn game theory, combinatorics, probability and pretty much cover every topic that is written on LightOJ problem categories.
Solve another 500+ problems in this year. Complete USACO training system. Do not waste your time-solving ad-hocks anymore. The problems should at-least be div2 C(on codeofrces scale) difficulty. And don't waste too many time-solving problems that are way out of hand. But thinking about hard problems is actually great.
Learn some advanced number theory and geometry topics and solve a lot of problem on these.
Try to attend every contest possible.
Get better at your coding skills.
After this year your rating would be blue in topcoder and purple in core forces. In national contests, you will get around 15-20 place.
 
For the third year, there is only one practice plan. Solve 1000+ problems. They all should div2 D difficulty. By this time you will learn to solve d1 D. Your rating should be orange in CF and yellow on TC. But the most important thing is solving(solve the problems after the contest excluding the stopper one). Solve past Dhaka regional and different onsite contests in Bangladesh. UVa has got a lot of it. You just need to search for them. Also, take part in USACO monthly contests. You will probably end up finishing top 10 in the national contest. If you are lucky you may even qualify for WF/code jam.
 
Dedicate the 4th year for more programming. Happy coding.
« Last Edit: November 03, 2017, 10:49:04 AM by Razu_Ahmed »

Offline Arifa_Ruhi

  • Newbie
  • *
  • Posts: 1
  • Test
    • View Profile
Re: Multiple Programming Languages or Problem Solving
« Reply #5 on: November 03, 2017, 03:37:43 PM »
I think this is the best suggestion for beginner to follow C language for developing their logic. This can be also an exciting matter of all getting a lab for this perspective.So really it's will makes a good for all with the suggestion that you provided.

Because  There is no one programming language to rule them all (in all situations).
With that said... the real deal is the depth of knowledge and problem-solving skills. I know "old" C programmers that are fast and highly effective and I know "hipster" python programmers that are not nearly as effective at solving problems in code.  Note that the main thing is to be an effective and efficient problem solver, not just coder.  Knowing 'stuff' helps inform and improve problem-solving skills which are really what this is all about.  Hence, may I add that last but not least... outside of the languages themselves.

As I alluded to... being discerning of what you spend time feeding your brain is key to maximizing how effective and efficient you are with your time and energy.  It is also important to dive deep into at least two languages.  To be fluent in them. Again it is not that one language is better than the other... it is that you are giving your brain a workout and sharpening your problem-solving skills by having the wherewithal to look at a problem from different perspectives.

_Thank you

Offline Sabrina Haque

  • Newbie
  • *
  • Posts: 1
  • Test
    • View Profile
Re: Multiple Programming Languages or Problem Solving
« Reply #6 on: November 03, 2017, 05:17:00 PM »
Starting to learn a programing language with the guide of a book at a time practicing the exercises actually helps. Sometimes online materials can divert our learning sequence (as beginner)and some related new information might seem more interesting and has chances that one start looking for it, again it continues until something too complex rise up, as a result one may end up leaving the practice incomplete. I’ve seen that softcopy/online references also can lead to the tendency of “copy and paste” while a beginner supposed to type the code line to line to make “mistake and correction “and understand what actually he/she is doing.
 
Once my younger brother was solving(typing) his and some of his friends college’s ICT assignment of C programming language from his practical book, he asked me to type them, I put conditions if he can tell me what he understand only then I’ll help. He tried but unable to explain properly. After that when he completed all the assignments, I again asked if he can explain me now and he explained properly! Then I revealed that in code blocks he can copy and paste. He was surprised and at the same time realize even why his teacher didn’t ever mention this. I do think that proper guidance can set us to better track. Sir, it will be a great initiative developing facility where students will get regular guidance to learn and solve problems on particular programing language which they find interesting.

Offline Sultana Razia Sharmin

  • Newbie
  • *
  • Posts: 1
  • Test
    • View Profile
Re: Multiple Programming Languages or Problem Solving
« Reply #7 on: November 03, 2017, 07:50:31 PM »
When I first learned programming I had no idea about it. It was very difficult for me to learn a new thing but in few days I got interest in it (in C language). I start as a beginner during the course In C. But when I finished the course I could not continue my practice I forgot the learnt things and it became harder to me day by day. And for the next course occurred the same thing for me.
But now everyone have the basic knowledge about programming because they all have the subject ICT. So we all have to encourage to practice and develop the problem solving skills. And always to highlight the interesting part of programming not the difficult part. Take initiative facility to encourage students to regular practice, reading books and grow interest in it.

Offline motiur.swe

  • Jr. Member
  • **
  • Posts: 72
  • Teamwork Begins By Building Trust.
    • View Profile
Re: Multiple Programming Languages or Problem Solving
« Reply #8 on: November 03, 2017, 08:02:50 PM »
I am getting new ideas from you all.

Thanks to all for sharing your thoughts.
Sheikh Shah Mohammad Motiur Rahman
Lecturer (Senior Scale), Department of Software Engineering
Daffodil International University
+8801718 297606
motiur.swe@diu.edu.bd
http://faculty.daffodilvarsity.edu.bd/profile/swe/motiur.html

Offline Ishak

  • Newbie
  • *
  • Posts: 1
  • Test
    • View Profile
Re: Multiple Programming Languages or Problem Solving
« Reply #9 on: November 03, 2017, 10:40:13 PM »
This is great.. i have a question : is joining online contest is compulsory? is it increase value in job field?

Offline Dipto_Paul

  • Newbie
  • *
  • Posts: 3
  • Test
    • View Profile
Re : Multiple Programming Languages or Problem Solving
« Reply #10 on: November 04, 2017, 12:10:07 AM »
I guess not. Most of the contests are about mathematical problem solving. And most of the industry jobs don't need you to solve mathematical problems. They don't care if you can "check if a number is prime or not" or "print the value of pi after 40th decimal point". As a matter of fact they almost care about nothing as long as you can do the job.

Every interview board will ask you :
Why should we take you instead of anyone else ? What have you got that they don't ? Why are you "Special" ?

So you should prepare for a reply of this question. If you ever face a interview board that don't ask you this , it's not an interview board at all.
« Last Edit: November 04, 2017, 12:14:03 AM by Dipto_Paul »

Offline motiur.swe

  • Jr. Member
  • **
  • Posts: 72
  • Teamwork Begins By Building Trust.
    • View Profile
Re: Multiple Programming Languages or Problem Solving
« Reply #11 on: November 04, 2017, 12:24:52 AM »
@Ishak

I won't tell that it's compulsory but it will add extra value to interview board or to your CV definitely even also for big tech company like Google, Facebook etc it's necessary.

I don't tell that online contest but I am trying to let you understand that problem solving capacity.

But if you attend online contest then you will get inspired like a game. Online contest is a game where participant from world wide attend to win the race. So you will get fun and inspiration to defeat them.

So my main point is problem solving capacity and online contest is a platform from where you can apply and check your capacity in terms of world wide programmers.

If you start contest then you will try to be first on that contest and if you can do then you will get encourage and also there is a a chance to get connected with world's other programmers and bit tech companies as well.

Finally, the main term is "Problem Solving Capacity" and "Online Contest" is to test yourself. Now you told me that if you can improve your problem solving capacity and can dear to defeat anyone in contest then:

"Won't it add any value to you or to your CV?"

In industry also you need to prove yourself by solving complex problem in a efficient way so obviously it will increase your possibility to get the job.

I think I can let you understand.
« Last Edit: November 05, 2017, 11:14:54 AM by motiur.swe »
Sheikh Shah Mohammad Motiur Rahman
Lecturer (Senior Scale), Department of Software Engineering
Daffodil International University
+8801718 297606
motiur.swe@diu.edu.bd
http://faculty.daffodilvarsity.edu.bd/profile/swe/motiur.html

Offline Nusrat Jahan Momo

  • Full Member
  • ***
  • Posts: 159
  • Test
    • View Profile
Re: Multiple Programming Languages or Problem Solving
« Reply #12 on: November 19, 2017, 10:58:19 AM »
Thanks sir for sharing this post. This will help us for increasing knowledge.

Offline mushfiq.swe

  • Full Member
  • ***
  • Posts: 109
    • View Profile
Re: Multiple Programming Languages or Problem Solving
« Reply #13 on: November 21, 2017, 07:34:42 PM »
Rumel sir is also interested for mentoring the students for the same issue. Please contact him.
Muhammad Mushfiqur Rahman
Lecturer, Dept. of SWE,
FSIT, DIU.

Offline SSH Shamma

  • Sr. Member
  • ****
  • Posts: 364
    • View Profile
Re: Multiple Programming Languages or Problem Solving
« Reply #14 on: November 29, 2017, 07:36:32 PM »
Thanks you all for sharing your knowledge.
Syeda Sumbul Hossain
Lecturer, SWE
Daffodil International University
Contact No. 01918455555