Schools How did you learn/study programming in University

AI Thread Summary
Many students entering programming courses, especially in languages like C++, find the transition challenging compared to simpler languages like Python. The complexity of C++ syntax, data types, and rules can feel overwhelming, leading to frustration when traditional textbook learning does not yield retention or enjoyment. Engaging with programming through hands-on practice, such as writing and running code, is often more effective than solely relying on textbooks. Prior exposure to programming concepts can significantly benefit beginners, and it's recommended to study ahead and practice coding outside of class assignments. Additionally, utilizing resources like teaching assistants and professors for guidance can enhance understanding. The discussion emphasizes the importance of gradual learning and practical application in mastering programming skills.
Of Mike and Men
Messages
53
Reaction score
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
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.
 
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.
 
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
Bit Britain-specific but I was wondering, what's the best path to take for A-Levels out of the following (I know Y10 seems a bit early to be thinking about A-levels, but my choice will impact what I do this year/ in y11) I (almost) definitely want to do physics at University - so keep that in mind... The subjects that I'm almost definitely going to take are Maths, Further Maths and Physics, and I'm taking a fast track programme which means that I'll be taking AS computer science at the end...
After a year of thought, I decided to adjust my ratio for applying the US/EU(+UK) schools. I mostly focused on the US schools before, but things are getting complex and I found out that Europe is also a good place to study. I found some institutes that have professors with similar interests. But gaining the information is much harder than US schools (like you have to contact professors in advance etc). For your information, I have B.S. in engineering (low GPA: 3.2/4.0) in Asia - one SCI...
I graduated with a BSc in Physics in 2020. Since there were limited opportunities in my country (mostly teaching), I decided to improve my programming skills and began working in IT, first as a software engineer and later as a quality assurance engineer, where I’ve now spent about 3 years. While this career path has provided financial stability, I’ve realized that my excitement and passion aren’t really there, unlike what I felt when studying or doing research in physics. Working in IT...

Similar threads

Replies
12
Views
2K
Replies
16
Views
2K
Replies
102
Views
5K
Replies
71
Views
836
Replies
4
Views
2K
Replies
5
Views
1K
Back
Top