CMPS 12A: Introduction to Programming
Spring 2006
Final Exam Review Times
Friday June 9: |
8:00 PM - 10:00 PM |
Sunday June 11: |
3:00 PM - 5:00 PM |
Location: Engineering-2, Room 392 |
Warning: The E2 doors may be locked!
One of the TAs will be at the front door to the second
floor of E2 (at the bridge to Baskin's 2nd floor) for the first 15-20 minutes of the review session
time. If you arrive after that and find the doors locked, call
459-1083 and one of us will come down to let you in.
- Instructor: Cormac Flanagan. Office
hours are Thursdays, 1-2pm, or by appointment,
in E2, Room 367.
- Lectures: Tuesday and Thursday, 8:00am-9:45am, initially
Soc Sci 2 075. All lectures from April 6 on will be in the Simularium in the
Engineering 2 building.
- 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.
- Teaching Assistants:
- Mark Slater (mslater AT soe.ucsc.edu).
Office hours: 1-2pm, Tuesdays, E2-392.
- Jacob Telleen (jtelleen AT soe.ucsc.edu).
Office hours: 1-2pm, Wednesdays and Fridays(starting April 7), E2-386.
- Tim Bisson (tbisson AT soe.ucsc.edu).
Office hours: 3-4pm Thursdays, E2-380.
- Modified Supplemental Instruction:
- Alana Muldoon (newmoon AT ucsc.edu).
- Section Monday 5-6:15pm at the Jack Baskin White boards.
- Section Thursday 10:30-11:45am also at the Jack Baskin White boards.
- Extra review session Sat June 10th from 1-3pm also at the Jack Baskin White boards
- Required Text: Java by Dissection 2nd Edition
(unpublished). Pohl and McDowell A pdf version can be found in the
WebCT "Course Content and Related Materials" section for the class. A
print version is available from SlugBooks.
- Labs: Concurrent registration for one of the following labs is required. (Lab Schedule)
- CMPS 12L-a: BE105 Tuesday 3:00-4:30 and Thursday 4:00-5:30.
- CMPS 12L-b: BE105 Tuesday 4:30-6:00 and Thursday 5:30-7:00.
- Class Newsgroup: ucsc.class.cmps012a
Evaluation
- Bi-Weekly programming assignments (25%).
- Bi-Weekly quizzes (best four out of five) (40%).
- Final exam (35%). The final exam will be Monday, June 12, 7:30 to 10:30 P.M. in the usual Simularium room.
A minimum of 50% on all aspects of the grade is necessary but not
sufficient to pass this class.
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. BOTH partners
in a pair should submit the program through WebCT. 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.
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.
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 will be in use to detect copying. If you
have any questions on this important point, please see me.
Facilities: This quarter you will using the Unix operating
system for your programming assignments.
Quizzes: There will be a quiz every other Tuesday with the first quiz
on April 11.
Additional Materials
- Lecture slides and some quizzes and solutions
- Lecture example programs
- Here is a nice reference card for emacs. If you can print postscript, the reference card prints nicely on two sides of an 8.5 x 11 piece of paper.
- In the lab we will be using the standard/free SDK from Sun Microsystems running under Solaris (UNIX). You can download a version for Windows for free from the link in the previous sentence.
- Javadoc is a tool that contains class definitions for all of the class types that are included in standard java, including String and Math. Check it out.
- FAQ (Frequently Asked Questions): See if your question is here!
Schedule
Date |
Topic |
Reading |
April 4, 6 |
Class Overview, Introduction |
Chapter 1 |
April 11, 13 |
Program Fundamentals |
Chapter 2 |
April 18, 20 |
Statements and Control Flow |
Sections 3.1-3.4 |
April 25, 27 |
Statements and Control Flow (cont) |
Chapter 3.5-3.10 and Chapter 4.1-4.4 |
May 2, 4 |
Functional Abstraction |
Chapter 4 |
May 9, 11 |
Functional Abstraction |
Chapter 4 (read it again) |
May 16, 18 |
Arrays |
Chapter 5 |
May 23, 25 |
Arrays (cont), Data Abstraction |
Chapter 5, Sections 6.1-6.8 |
May 30, June 1 |
Data Abstraction (cont) |
Chapter 6 |
June 6, 8 |
Data Abstraction |
Chapter 6 |