CMPS 012a: Introduction to Programming - Fall 2004


[Homepage] | [Lab Info] | [TA's & Tutors] | [FAQ's] | [Supplements] [Programming Projects] | [Sample Program Solutions] | [Exams]

In order to complete the pre-lab exercise BEFORE the first lab you will need to add yourself to the WebCT site for CMPS012A. You can do this by going to http://ic.ucsc.edu/docs/webct/create-account.php and filling in the information in STEP 2. Because of the transition to the new Academic Information System you will not have been automatically added to the WebCT site for the class prior to the first day of class.

Instructor Information

Office: E2 349B
Hours: Tuesday and Wednesday 11:30-12:30, and Friday 12:30-1:30pm
E-mail: charlie@cs.ucsc.edu
Course Notes

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

Lab Information

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

TA's and Tutors

This section contains information about the lab times and when the TA's and tutors are available.

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. Pohl and McDowell Addison-Wesley, 2000.
On to C. McDowell - this comes packaged with Java by Dissection. If you have a used copy of Java by Dissection but no "On to C", a pdf version of "On to C" can be found in the WebCT materials for this class, under "Course Content/Lab Materials".

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 three parts (hw, quizzes, pop-quizzes, 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. You are free to choose your own partner, but you and your partner must be enrolled in the same lab section. 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 turning it in. 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 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, 4th.
Audience: This course is for CS, CE and 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 24 Developing Software Chapter 1
September 27, 29, October 1 Program Fundamentals Chapter 2
October 4-8 Conditionals and Loops Sections 3.1-3.5
October 11 Loops and Conditionals (cont) Chapter 3.6-3.10
October 13-15 Functional Abstraction Chapter 4.1-4.4
October 18-22 Functional Abstraction (cont) Chapter 4.5-4.13
October 25-29 Functional Abstraction (cont) Chapter 4 (read it again)
November 1-5 One Dimensional Arrays Chapter 5.1-5.6
November 8-12 Two Dimensional Arrays Chapter 5.8-5.12
November 15-19 Data Abstraction Sections 6.1-6.5
November 22-24 Data Abstraction (cont) Chapter 6.6-6.8
November 29-December 3 OOP Chapter 6.9-6.15
December 6 Final Exam 12-3pm Chapters 1-6

[Homepage] | [Lab Info] | [TA's & Tutors] | [FAQ's] | [Supplements] [Programming Projects] | [Sample Program Solutions] | [Exams]

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