I'm a first-year college student with no previous programming experience. I started learning Python about a week before college began, but my course is currently teaching C, and I'm struggling to keep up. C syntax such as i++, ++i, loops, and other details keeps getting mixed up with what I learned in Python.
For example, we were asked to approximate sin(x) using the series sin(x) = x - x^3/3! + x^5/5! - ... with loops. I wasn't confident that I could solve it in either C or Python. Many of my classmates learned Java or another language in school and consider this a standard exercise, so they seem much more comfortable with programming than I am.
I've tried introductory courses in both C and Python, but they didn't seem to cover exercises like this in enough depth. Should I stop studying Python temporarily and focus entirely on C? How should I build the fundamentals needed to solve these problems and understand C syntax?
5 Answers
There is no need to abandon Python forever, but it is reasonable to prioritize C until you are comfortable with the material being taught in class. Use exercises from your lectures or a C textbook that progresses from variables and conditions to loops, functions, arrays, and pointers. When you get stuck, state the exact step that is confusing and show what you have tried; asking about a specific problem is much more useful than assuming you are simply bad at programming.
Since your college is teaching C, focus on C for now instead of trying to learn both languages at the same time. Splitting your attention can make the syntax more confusing, and you need practice writing real programs rather than only watching lessons. Once you understand the basic ideas, moving between languages will become much easier.
For a series such as the sine approximation, focus on breaking the problem into pieces before thinking about C syntax. Identify how the terms change, how the signs alternate, how the powers and factorials are calculated, and how many terms the loop should add. The language is only the final implementation; understanding the algorithm comes first. Work through a few terms by hand, write pseudocode, and then translate each step into C.
Don’t compare your first few weeks with classmates who already have years of experience. Programming usually takes months to become familiar and much longer to master. Treat this like learning a spoken language: first understand what each part means, then practice small examples repeatedly. Start with simple for and while loops, change the starting and ending values, count upward and downward, increment by different amounts, stop early, and try nested loops. Gradually combine those ideas into larger problems.
Practice the C features that are different from Python instead of trying to memorize everything at once. In a loop, i++ increases i after its current value is used, while ++i increases it before its value is used. The difference matters when the expression is part of a larger statement, but in a standalone loop update they often produce the same result. Write tiny programs to test these differences, and learn each construct by using it rather than only reading definitions.
My course also used i++ without explaining it separately from ++i. I’m going to practice them in small examples so I can see when the distinction actually matters.

That makes sense. I’m mostly worried because my classmates already seem comfortable after learning other languages for years, while I’m still struggling with basic exercises.