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.