How did you learn/study programming in University

In summary, the conversation discusses the difficulty of learning programming in university, particularly with languages such as C++ that have complex syntax and rules. The importance of practicing and applying programming skills is emphasized, as well as seeking guidance from professors and TAs. It is also mentioned that having prior exposure or experience with programming can be beneficial in learning and understanding the material.
  • #1
Of Mike and Men
54
3
Hey everyone,
I was wondering if you were completely new to programming when you went to University, how did you learn to program? I spend a lot of time reading the books my University requires, but it all feels very dense and difficult to follow. I retain little to nothing.

I started out with Python and loved it. The simplicity of the language allowed me to focus more on logic and solve problems. However, now, with C++, I am in my 4th week this semester and it's all really overwhelming. There's so much syntax, various data types, the rules feel less intuitive than Python, etc. I'm starting to wonder if reading the text is really kind of pointless in these classes -- which is why I am here.

Is there a better way than slogging through the books? I love programming, but the textbook is draining the enjoyment. Especially when I have little recollection of what I read the next day. This is with handwriting notes, writing in the book, highlighting, and typing up the programming examples and studying the logic within them.
 
Physics news on Phys.org
  • #2
Of Mice and Men,
I remember first exposure as a beginning programming student, mostly learning BASIC, from a few decades ago. HARD course, but good textbook. Connection between book and assignments was good, but some of us, like me, did not yet have good logic. We needed to learn this. We read our book, did the exercises and restudied as much as we could, and if we put in the effort, we learned SOMETHING. Assigning variables, creating flow-diagrams, and translating into code, was our basic practice. This form of practice was so important, that if we did not clearly assign variables (and show in a very well-formed listing), and draw flow diagrams, and show our full BASIC code, we received little or no credit, and received little to NO HELP when we asked for any. The better students often had prior exposure or experience to programming before ever taking this first course - either on their own with their own personal computer, or maybe some other programming course from some other school. No C/C++; No "Windows" yet or Windows not yet popular. The computer terminals during normal hours were often so crowded that one would need to wait for a terminal to become free. A student really needed to have their code ready on paper so he could just logon and start writing his program code in the editor - which really is part of being prepared. Lab session time was tough because one never knew exactly what would be covered before a class meeting, but at least the lab assignments were designed to use what we had already been learning. (NO SYLLABUS for the lab section).

Overwhelming? Yes. If you have a normal course load and you never faced computer programming before, the course is too much. Best thing to do, study ahead! Learn what you can before ever enrolling for your/the first intro. programming course. If necessary or useful, restudy again on your own. If there was something you could not learn well during your first course, studying the whole thing again on your own, maybe using the school's terminals, is or could be a way to go for improving.
 
  • #3
I find that reading the text isn't as helpful as one would wish. I took three programming courses over the years, Computational Physics (I didn't learn much about programming but did learn a lot of the physics), C++, I knew something about C when I showed up because I spent a bunch of time working rudimentary problems and Java, which helped me learn about OOP. The C++ and Java courses had very little in the way of class notes and almost all of our time was typing on a PC and running little programs and seeing the algorithm development. I liked that better, it seemed to stick more.

After I got the basics down, I worked like a dog at work to apply what I had learned. That is where I really learned how to program. Talk to your TA's and professor and see how they prefer to teach and adapt is all I can say.
 
  • #4
Of Mike and Men said:
However, now, with C++, I am in my 4th week this semester and it's all really overwhelming.
C++ is a huge language. I used to teach an introductory programming course that used C++. In two full semesters we were able to cover basic I/O with streams (including files), the standard control structures (if, while, etc.), functions, parameter passing, vectors (instead of arrays), string operations using the standard 'string' data type (instead of char* arrays), and a bit of object-oriented programming (simple class design). We did not cover pointers; a later course (computer architecture IIRC) covered those. In order to do object-oriented programming more thoroughly, template functions and classes, and pointers, I would have needed a third semester.

However, this was not intended to be a comprehensive "C++ course." Instead, it was an "introductory programming course that used C++." There's a difference!

Chip away at it gradually, and write plenty of example programs.
 
  • Like
Likes CivilSigma and UsableThought

1. How did you first become interested in programming?

I have always been fascinated by technology and how it works. I started playing around with coding and building websites in high school, and my interest grew from there.

2. What programming languages did you learn in university?

In university, I learned several programming languages such as Java, C++, Python, and SQL. Each language had its own unique purpose and taught me valuable skills.

3. Did you have any previous programming experience before attending university?

Yes, I had some basic knowledge of programming before attending university. I had taken some online courses and self-taught myself some coding principles, which helped me in my university studies.

4. How did your university courses prepare you for a career in programming?

My university courses not only taught me the technical skills required for programming, but they also emphasized problem-solving, critical thinking, and teamwork. These skills have been essential in my career as a programmer.

5. What advice do you have for someone who wants to learn programming in university?

My advice would be to start with the fundamentals and practice consistently. Don't be afraid to ask for help and collaborate with others. Also, try to work on personal projects and attend coding workshops or hackathons to gain practical experience and expand your knowledge.

Similar threads

  • STEM Academic Advising
Replies
12
Views
1K
  • STEM Academic Advising
Replies
16
Views
405
  • STEM Academic Advising
Replies
3
Views
914
Replies
22
Views
922
Replies
40
Views
2K
  • STEM Academic Advising
Replies
7
Views
1K
  • STEM Academic Advising
Replies
5
Views
1K
Replies
1
Views
806
  • STEM Academic Advising
Replies
4
Views
1K
  • STEM Academic Advising
Replies
5
Views
852
Back
Top