berkeman said:
Can you post the curricula for the two classes? It's hard to believe that the intro class will be useful if you already got an A in the follow-on class.
Do you have any other class choices that you could take instead to better prepare you for the next 2 years? Say, a class in Data Structures, or Compilers, or Object-Oriented Programming, etc.?
Intro CS Topics (the class I want to take, advisory to the next classes)
• Procedural versus object-oriented programming. Survey of current languages.
• Program design tools and programming environments.
• Documentation.
• Coding conventions.
• Data types, variables, expressions, sequential processing.
• Arrays Declaring and allocating arrays.
• Control Structures Selective structures: if and switch, Repetitive structures: loops.
• Algorithms such as simple sorting and searching.
• Passing parameters by value and by reference.
• Principles of testing and designing test data.
Software Engineering Topics (The class I took)
- Learn a new language, Java syntax and programs
- basic program structure: main object
- variables, primitive types: storing data in local memory
- strings and arrays: groupings of values
- conditionals: directing the flow
- loops: repetition
- methods: functions in objects
- Exception HandlingLinks to an external site.
- Learn about algorithms and perform them in Java
- Learn about objects
- reference types
- methods
- introduction to object inheritance
Cloud Databases (a different class I can take, advisory of the intro to CS class)
"Presents essentials of query and database technologies for software developers. Students learn both SQL and NoSQL languages. Best-practices for database management and security are defined. Principles are applied by performing exercises to create and fill tables, retrieve and manipulate data, perform data analysis."
My problem is I don't feel like I'm ready to tackle more advanced CS courses, even though I did well in the software engineering class I took two years ago. An analogy might be if I did well in a calculus-based physics class, but I memorized equations instead of the problem-solving principles. Taking the intro class would help me remedy my knowledge of basic CS principles, and I'll supplement it by working through "
Numerical Methods for Physics" by Garcia Alejandro in my free time. This way, I'll still be advancing in my ability to program, but I can remedy the foundations, the same way a student in physics might fix a weak calculus or algebraic background.Based on my previous experience, I'd rather seek advice from this forum than my advisor. I'm planning on majoring in physics and minoring in CS.