This course is designed for computer science and engineering majors, providing an accelerated introduction to programming using the Java language. Prior experience with some high-level language such as Java, C, or C++ is highly recommended. It is assumed that students are familiar with the concepts of variables, expressions, and statements, including looping and conditional statements. These topics will be reviewed quickly in the first few days of class.
Topics to be covered include, but are not limited to, multi-dimensional arrays, classes and methods, recursion, static and dynamic memory allocation, inheritance, polymorphism, and event-driven programming. Students will complete several medium-size programming assignments, working in pairs. Students are required to enroll concurrently in CMPS 12A (lectures) and CMPS 12L (lab).
This accelerated course covers the same material in one quarter that is covered in two quarters by CMPS 5J and CMPS 11. If you have no prior programming experience, or even if you have but would prefer more time to practice and really master the material, you should consider taking the CMPS 5J-11 sequence. Introductory programming courses are also offered for C (CMPS 5C) and Python (CMPS 5P).
CMPS 12A and CMPS 12L will use the Moodle course management system. Students planning to take these courses should go to http://moodle.soe.ucsc.edu/ and enroll separately in CMPS 12A and CMPS 12L for Winter 2009. Enrollment requires your UCSC email address and an enrollment key that will be distributed on the first day of CMPS 12A class (Jan. 7). All programming assignments will be submitted using Moodle. Moodle also describes grading and other course policies and provides online forums for course announcements, questions, and discussion.
Don Chamberlin (chamberl at soe.ucsc.edu)
Office: E2-547B. Office hours: Wed. 2-4pm
Martin Jennings-Teats (mjennin1 at soe.ucsc.edu)
Office hours: Wed. 4-5pm in BE-109 (lab)
Varun Raghavan (varun at soe.ucsc.edu)
Office hours: Tue. 1-2pm in BE-105 (lab)