CMPS 012A: Introduction to Programming


[Homepage] | [Course Notes] | [General Lab Info] | [TAs & Tutors] | [FAQ] | [Supplements] | [Homework] | [Exams]

Instructor Information

Instructor: Prof. Scott Brandt
Class Details: Kresge 321 -- T/Th 2-3:45
Office: BE 251
Office Hours: T/Th 4-5 and by appointment
E-mail: scott@cs.ucsc.edu
Class Newsgroup: ucsc.class.cmp12a


NEWS:


Course Notes

This page contains the lecture notes for the course. I will put them up as soon as possible, but I may not always be able to do so before the corresponding class period.

General Lab Information

This section contains general information about things you will need to know how to do in order to do well in this class (and future classes as well). It includes information on using Unix, creating a program, and submitting homework assignments. If you need additional background information, you should definitely check out the resources CATS (Communications and Technology Services) provides. They are located downstairs in the Communications building. If you don't yet have a CATS account, click here to register.

TAs and Tutors

This section contains information about the lab times and when the TAs 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 (Frequently Asked Questions): See if your question is here!

This section contains some questions pertaining to programming which students frequently ask.

Required Text:

Java by Dissection. Pohl and McDowell Addison-Wesley, 2000. The textbook for this class will be available from both the Baytree Bookstore and Slug Books Co-op.

Evaluation:

A minimum of 50% on all three 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, final), you will not pass, however, just because you score at least 50% on each part does not imply that you will pass. For example, someone that scored 51% on each of the three parts would almost certainly, NOT pass. The policy is intended primarily to prevent students from "blowing off" the homework because it only counts 20% of the grade. You cannot pass this class if you do not do the homework.

Ungraded practice assignments: In addition to the four graded programming assignments, there will be four, ungraded programming assignments. For these assignments you are free to consult freely with any of your classmates. The experience gained in completing these assignments will help you with the graded assignments and the exams, which must be solely your own work.

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 may 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. You will use submit for turning in homework.

Homework: Turn in homework by using the submit procedures. It will not allow late work. Late work will not be accepted or graded. The program should be submitted in whatever form it is in - it is possible to receive some partial credit for a program that is not working. Homework is graded in terms of it being done in a good style, being correct, being concise, being readable, and being efficient.

Audience: This course is for CS, CE and ISM majors and prospective majors. These are disciplines which emphasizes mathematics and problem solving. There are computer literacy and computer programming courses that are offered for the non-major. If you are shaky in your preparation you should consider taking CMPS010, which is highly recommended for all CS majors.

Syllabus

Date Topic Reading
January 3,8 Introduction Chapter 1
January 10,15 Program Fundamentals Chapter 2
January 17,22 Statements and Control Flow Sections 3.1-3.4
January 24,29 Statements and Control Flow (cont) Chapter 3.5-3.10
January 31, February 5 Functional Abstraction Chapter 4
February 7 Functional Abstraction Chapter 4 (read it again)
February 14,19 Arrays Chapter 5
February 21,26 Arrays (cont), Data Abstraction Chapter 5, Sections 6.1-6.8
February 28,March 5 Data Abstraction (cont) Chapter 6
March 7,12 Data Abstraction Chapter 6
March 14 Review?

[Homepage] | [Course Notes] | [General Lab Info] | [TAs & Tutors] | [FAQ] | [Supplements] | [Homework] | [Exams]


Telephone: (831) 459-5042 / FAX: (831) 459-4829 / sbrandt@cs.ucsc.edu