UCSCBaskin School of Engineering  
General Information Events, News & Organizations Degrees & Departments Research Classes Admissions & Advising People & Jobs Administration
CMPS 12a - Fall 2009

Welcome to CMPS 12a, Fall 2009

General Class Information

This course will give you a firm foundation in computer programming and related issues.
It is an accelerated course based on Java and intended for SOE majors. It assumes some programming background, CMPS 5j-CMPS11 is a more gentle two-quarter sequence covering the same material. If you are not already comfortable with variables, boolean expressions, and loops, you should take the CMPS 5J-CMPS 11 sequence.
Pre-requisite: Ability to enroll in Math 19a (calculus). Students in CMPS 12A must also enroll in a section of CMPS 12L, the laboratory associated with CMPS 12A.
Tentative Syllabus
Instructor: David Helmbold, 345B E2 building.
Email: dph@cse.ucsc.edu
Office Hours: Wednesdays, 10-11, and by appointment
Lecture: MWF 3:30-4:40 in Oakes 105
Final: Thursday December 10, 8:00 to 11:00 A.M.
Required Text: Java by Dissection by Pohl and McDowell, Available at UCSC bookstore or at http://www.lulu.com/JavaByDissection .
Teaching Assistants:
Serdar Sali, sali@soe.ucsc.edu (office hours 12-1 Thurs in BE 105)
Martin Jennings-Teats, mjennin1@soe.ucsc.edu (office hours 11-12 Thurs in BE 105)
Office Hours: TBD
Lab Sections: See schedule of classes - labs start Monday, Spetember 28
Mon 9:30-11 in BE 105 (Martin)
Mon 5:00-6:30 pm in BE 105 (Serdar)
Tu 10-11:30 in BE 105 (Martin)
Wed 9:30-11 in BE 105 (Martin)
Wed 11-12:30 in BE 105 (Serdar)
Wed 12:30-2 in BE 105 (Serdar)
Lab attendance is manditory . You are guaranteed a seat on your assigned lab day, and are welcome to attend additional lab sections on a first come, first serve basis. Labs times are good times to work on your programming assignments and get help from the teaching assistants and/or tutors.
Class Newsgroup:
We will be using Moodle

Moodle

This course is being managed using Moodle. There is where you will find all course assignments, submit your programs, carry on on-line discussions, and complete homework in the form of online quizzes. Go to http://moodle.soe.ucsc.edu/ and click on the link for CMPS 12a. You will be able create an account for yourself and join the class online. The first assignment is posted on moodle (also available here) and is due Wednesday Sept. 30.

Working Together:

You may freely give and receive help with the computer facilities, editors, debugging techniques, the meaning and proper use of Java constructs, built-in functions, etc. Most programs will be done in teams of two using "pair programming", see the Pair Programming Guidelines . One programming assignment will be given under "take-home exam" conditions. In either case you should not discuss details of your design or implementation of programming assignments with anyone other then the course staff, and especially not other students in the course until after the final deadline. In particular you should not view another person/pair's program, or allow someone to view any part of your program, prior to the final due date. Obviously, either copying any part of another person/pair's program or allowing your program to be copied is not permitted. A program, Moss, will be in use to detect copying. If you have any questions on this important point, please see me.

Academic Dishonesty:

Any confirmed academic dishonesty, including but not limited to copying programs (or parts of programs) or cheating on exams, will constitute a failure of the computer ethics portion of this class and result in a no-pass or failing grade. You are encouraged to read the campus policies regarding academic integrity.

Programming Environments

The class will be using the Dr. Java programming environment. You can get more information and download it to your personal machines from http://www.drjava.org/ . An alternative (and probably more advanced) integrated proramming environment is Eclipse, available at: http://www.eclipse.org/ .

Information on Unix

There are many on-line resources on the Unix operating system and basic shell commands. Here are a few links you might find useful. Many of them go far beyond what we will need for 12a.

Unix editors

There are two main unix file editors, vi and emacs. I use emacs, and it has a built-in tutorial. Here are some links for further information.

Potentially useful links

  • Java documentation from SUN ( link )
  • Wikipedia aricles on "Java" and "Computer"

If you qualify for classroom accommodations because of a disability, please get an Accommodation Authorization from the Disability Resource Center (DRC) and submit it to your instructor (David Helmbold) in person outside of class (e.g., office hours) within the first two weeks of the quarter. Contact DRC at 459-2089 (voice), 459-4806 (TTY), or http://drc.ucsc.edu for more information on the requirements and/or process.


General info · News · Events · Degree Programs · Research · Classes · Admissions · Advising · People · Jobs · Administration
SOE Webmail · SOE SSH · SOE Wiki · Search · Sitemap · Contact us · Driving directions · Privacy · UCSC
© Baskin School of Engineering, University of California, Santa Cruz
1156 High St., Santa Cruz, CA 95064 · (831) 459-2158 · webmaster@soe.ucsc.edu