CMPS 012a: Introduction to Programming - Fall 2006


[Homepage] | [Lab Info] | [FAQ's] | [Supplements] [Programming Projects] | [Exams]

Location CHANGED from registrar data

This class meets in Engineering 2 room 180 NOT Thiman 1.

Instructor Information

Office: E2 349B
Hours: Wednesday/Thursday 11-12
E-mail: charlie@cs.ucsc.edu
Course Notes

Teaching Assistant

Elizabeth Cassell
E-mail: ecassell@ucsc.edu
Office hours: BE 105 Tuesday 12-2pm, and Thursday 3-4pm

Here is a link to WebCT for the online discussions, daily review questions, program submission, and programming logs.

Class notes on Ubiquitous Presenter

I plan to use Ubiquitous Presenter (UP) for posting live class notes and student participation during and after class. Please go to up.ucsd.edu and enroll in cmps012aF06. (Please note that is ucsD not ucsC.) The password will be given out during class.

Class notes for printing

The class notes are also available in pdf for printing to bring to class. These are actually from Fall 2005 but any changes should be minor and not intefere with their usefulness as a note taking aid during class.

Audio and screen shots from class

I also hope to be posting "movies" with audio of the primary computer display from class. These will appear in class recordings. It appears these work best from windows machines but may be of some use under Mac OSX.

Lab Information

Lab attendance is required. You will be completing specific lab exercises on most days. See Lab Information for more details.

Lecture Supplements

This section contains additional information from the instructor to supplement the lectures. Materials will be added here as they become necessary.

FAQ's (Frequently Asked Questions): See if your question is here!

This section contains a few questions about this class that students frequently ask.

Required Text:

Java by Dissection 2nd Edition. Pohl and McDowell (http://www.lulu.com/JavaByDissection)
On to C. McDowell. A pdf version of "On to C" can be found in the WebCT materials for this class, under "Course Content/Lab Materials". (I also recently saw a number of copies available very inexpensively at abebooks.com. I don't know anything about this reseller and this is not an endorsement. Shop at your own risk.)

Evaluation:

A minimum of 50% on all four aspects of the grade is necessary but not sufficient to pass this class. This means, if you receive less than 50% on any one of the four parts (programming assignments, quizzes, review questions, or final), you will not pass, however, just because you score at least 50% on each part does not imply that you will necessarily pass. For example, someone that scored 51% on each of the four parts would almost certainly, NOT pass. The policy is intended primariliy to prevent students from "blowing off" the homework or programming assignments because they only count 10% and 20% of the grade respectively. You cannot pass this class if you do not do the homework and programmming assignments.

Working Together: The programming assignments are to be done in two person teams following the pair programming guidelines. You are free to choose your own partner, but you and your partner must be enrolled in the same lab section. If you cannot find a partner on your own, you will be assigned a partner. You may freely give and receive help with the computer facilities, editors, UNIX, debugging techniques, the meaning and proper use of Java constructs, etc.. You should not discuss your design or implementation of the programming assignments with students other than your partner until after they are turned in. In particular you should not view another person/pair's program, or allow someone (other than your partner) to view any part of your program, prior to successfully completing that assignment (see below). Obviously, 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 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.

Facilities: This quarter you will using the Unix operating system for your programming assignments. Programs will be submitted through WebCT.
Programming Projects: BOTH partners in a pair should submit the program. This is required for two reasons. First, it avoids the "I thought my partner was going to submit it" problem. Second, it facilitates the online grading by letting WebCT know that each student has actually submitted a solution.

Programming assignments, grading policy, and due dates can be found on the class web page homework section.

Quizzes: There will be a quiz every other Monday with the first quiz on October, 2nd.
Audience: This course is for CS, CE, ISM majors, and prospective majors. These are disciplines which emphasize mathematics and problem solving. There are computer literacy and computer programming courses that are offered for other majors. If you are shaky in your preparation you should consider taking CMPS010, which is highly recommended for all CS majors.

Syllabus

Date Topic Reading
September 22 Developing Software Chapter 1
September 25, 27 Program Fundamentals Sections 2.1-2.10,2.14
September 29, October 2 Conditionals Sections 3.1-3.4
October 4, 6 Loops Chapter 3.5-3.10
October 9, 11, 13 Classes and Methods Sectiosn 4.1, 4.2, 4.3, 6.5, 6.6, 6.7, 6.8
October 16, 18, 20 Methods and Classes continued Sections 4.4, 4.5, 4.8, 6.13, 6.14
October 23, 25, 27 Methods and Classes continued Review
October 30, November 1, 3 One Dimensional Arrays Sections 5.1-5.6, 5.12
November 6, 8, 10(holiday) The ArrayList container class Section 5.14
November 13, 15, 17 Enum, Review Classes and Methods Sections 6.1, 6.2, 6.3, 6.4, 6.9, 6.10
November 20, 22 2-D Arrays Section 5.10, 5.11
November 27, 29, December 1 TBD TBD
December 5 Final Exam 8-11am Chapters 1-6

[Homepage] | [Lab Info] | [FAQ's] | [Supplements] [Programming Projects] | [Exams]

This page maintained by Charlie McDowell. Email regarding this site.