<p>I know there are many on College Confidential, so I'll ask here.</p>
<p>Some background:</p>
<ol>
<li><p>I'm in the CS program in my school (University of Washington, they have a competitive CS program, being next to Microsoft and all, I think ranked #6)</p></li>
<li><p>I'm also a math major. And I enjoy problem solving and logic in general. I do well in Physics as well.</p></li>
<li><p>I had no programming or CS experience prior to the UW. Where I took 2 programming classes (Java classes), they were challenging imo, though they were meant to be, to weed out many kids who just weren't cut for the CS major at UW.</p></li>
</ol>
<p>Well I'm starting the upper-division classes in the CS major starting next quarter since I just got into the CS major. It's been about a year since I took those 2, and only 2, programming classes. And I realize I don't remember much. How important is to know and master the stuff we learned in the 1st 2 programming classes, as we take the upper-division courses? Here is what hte 1st 2 programming classes covered</p>
<p>CSE 142 Computer Programming I (4)
Basic programming-in-the-small abilities and concepts including procedural programming (methods, parameters, return values) , basic control structures (sequence, if/else, for loop, while loop), file processing, arrays and an introduction to defining objects. Offered: AWSpS.</p>
<p>CSE 143 Computer Programming II
Continuation of 142. Concepts of data abstraction and encapsulation including stacks, queues, linked lists, binary trees, recursion, instruction to complexity and use of predefined collection classes. Prerequisite: CSE 142. Offered: AWSpS. </p>
<p>So I think I'm already in a disadvantage because I haven't been programming for long, while most the kids here have been programming for a while. Nonetheless, I'm a math major and enjoy problem-solving and logic in general.</p>
<p>But I'm just curious, how often do you use the things we learned in those classes in the upper-division courses. I mean, if looks, for loops, while loops, and all the logic control algorithms I still remember well. But binary trees? linked lists? recursion? arrays? Will they come up a lot?</p>