Steam-powered Turing Machine University of Washington Department of Computer Science & Engineering
 CSE 142/143 Java Conversion
  CSE Home  About Us    Search    Contact Info 

 CSE 142
 CSE 143
   

Introductory Programming in Java

In the autumn of 2000, the CSE faculty officially approved a policy of converting the introductory programming courses (CSE 142 and CSE 143) to use the Java language.  This decision followed more than two years of discussion and planning, including consultation with community colleges as well as various educational units within the University.

The change in being made to improve the pedagogy of the introductory courses. Standard classes, a clean execution model, and a powerful memory management system allow students to understand programming at an altogether higher level of abstraction. This shift will afford us an increased focus on the concepts of programming as opposed to the details of machine-level implementation and execution.  As before, our intention is to teach problem solving, and Java will help us do this better.

Students will still learn many of the same concepts that they learned in 142/143 when it was taught in C/C++. The difference is that they will be less burdened by language idiosyncracies as they do so. For example, in the old 142, C's complexities forced us to give only a limited treatment of data structures, drastically skewing students' model of programming, while Java allows us to manipulate data structures throughout the quarter.  As another example: object-oriented programming, today's dominant paradigm, is developed starting early in the new 142, rather than waiting until the latter half of the old 143.

It is impossible to create competent programmers in a mere 10 weeks -- the best we can hope for is to give students an understanding of programming concepts, patterns, and tools with a minimum of clutter. The switch to Java will allow us to do that more effectively.  Students who have learned Java will find switching to other mainstream languages such as C and C++ relatively straightforward.

Planned Transition Schedule

  CSE142 CSE143
Through Winter 2001 In C only In C++ only
Spring 2001 Small-enrollment, experimental section taught in Java (course Web)

Large-enrollment section taught in C (last offering in C)

" "
Summer 2001 Taught in Java only, large enrollment (course Web) " "
Autumn 2001 " " One large-enrollment section in C++

One large-enrollment section in Java

Winter 2002 " " " "
Spring 2002 and subsequently " " taught in Java only

Transition Issues

The change in language will have a number of impacts. Students should take CSE 142 and 143 in the same language if possible, to avoid needing to make a transition between languages while in the middle of the sequence.

We will work with community colleges on the transfer issues associated with the language change. As new policies and information are developed, we will update our Web information for community college instructors and students.  Contact Craig Chambers (chambers@cs.washington.edu) for more information.


CSE logo Department of Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to cse142-webmaster]