I'm a first-year college student with no previous programming experience. I started learning Python about a week before college began, but my classes are now teaching C. I'm finding it difficult to understand C syntax and keep mixing it up with Python, especially expressions such as i++, ++i, and loop-based problems.
For example, we were asked to approximate sin(x) using the series sin(x) = x - x^3/3! + x^5/5! - ... with loops. I didn't feel capable of solving it in either C or Python. Many of my classmates learned programming in school and consider this a standard exercise, while I'm starting from scratch. I've tried online courses for both languages, but they didn't cover problems like this in a way that prepared me for class.
Should I pause Python and focus entirely on C? How can I build the fundamentals and become more comfortable solving these kinds of problems?
4 Answers
Don’t expect to feel comfortable after only a few weeks. Programming takes months to become familiar with and much longer to master. Your classmates simply have more practice, not necessarily more ability. Treat C like learning a spoken language: first learn what each construct means, then practice small examples until you can use it without thinking about every symbol.
Since your college is teaching C, focus on C for now instead of trying to learn both languages simultaneously. The main problem is probably not the language itself but the lack of practice turning a problem into small steps. Spend time writing simple loops repeatedly until the syntax feels natural, then try variations: different starting values, increments other than one, counting downward, early termination, while loops, and nested loops. Once you understand what each part does, moving between languages becomes much easier.
Before writing code for the sine series, break the math problem down. Identify how the terms change, how the signs alternate, how powers and factorials are calculated, and how many terms the loop should generate. The important skill is understanding the algorithm first; the C syntax comes afterward. Looking up unfamiliar mathematical terms is fine, but copying a complete solution will not teach you how to create one.
C is a reasonable language to learn fundamentals with because it makes loops, variables, memory, and expressions more explicit. Python hides a lot of those details, so it can feel easier without necessarily building the same foundation. Learn the common C syntax carefully, including the difference between i++ and ++i, and practice each feature in tiny programs rather than only encountering it inside large examples.

That makes sense. I’m comparing myself with classmates who have already spent years programming, so even basic problems feel much harder to me.