Ira Pohl's CMP 12A Winter 2002 Home Page

Taught by Ira Pohl

Class Details: Kresge 321    T/Th 8-9:45

Office: BE 233

Office Hours: Tues 10-11 and by appointment

E-mail: pohl@cs.ucsc.edu

This page contains the lecture notes and general information 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. Some links on this page are shared with Scott Brandt's 12A Section. Some information at his site is specific to his classes and TAs.

Test Schedule

Final In class, closed book, no electronic devices. Covers chapters 1 through 6. Make sure to study review questions in the text and the Final Review Document and both Midterm Review Documents: Midterm 1 Review Document and Midterm 2 Review Document.

Midterm 2 Tuesday, March 5, 2002 In class, closed book, no electronic devices. Covers chapters 1 through chapter 5. Make sure to study review questions in the text and the Midterm 2 Review Document.

Midterm 1 Thursday, January 31, 2002 In class, closed book, no electronic devices. Covers chapters 1 through the middle of chapter 4. Make sure to study review questions in the text and the Midterm 1 Review Document.

Teaching Assistants, Tutors, Lab Information and Help

TAs:
Narayan Brooks   nbrooks@cse.ucsc.edu
Francisco Useche  fuseche@cse.ucsc.edu

Tutors for Ira Pohl's 12A Section:
Ajay Bharadwaj     djbiit@hotmail.com
Rocky Martini          beaurockyx@hotmail.com
Dennis Crabtree     crabtree@cats.ucsc.edu
Sukhminder S. Bal  ssbal@cats.ucsc.edu

Rocky Martini maintains the Tutoring Site for this course. It contains information on Lab times and tutoring schedules.

MSI Tutor: Bill Strathearn billstr@cats.ucsc.edu

Class Newsgroup: ucsc.class.cmp12a for announcements, general discussion, and help.

In addition to the Common Problems section on the Tutoring Site , Scott Brandt maintains FAQs for 12A on his site that might be helpful to you. Remember that some information on his site is specific to his section of the class.

To run Java in the lab you will need to use the tio package and follow these instructions.

Scott Brandt maintains some links to information on using the UCSC computers on his version of the Lab Information for 12a site. Note that his information for TAs and Tutors differs from Ira Pohl's information, but the general information for using the UCSC computers and general facilities is the same.

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 (homework, midterms, 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 primariliy 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 4 or 5 graded programming assignments, there will be four, ungraded programming assignments. For these assignments you are free to consult freely with any of your classmates. You are encouraged to try and complete the assignments with your teammate. 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 can 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.

Lecture Schedule (tentative):

The links on the lecture titles are to the slides or notes

  • 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           Statements and Control Flow (cont)   Chapter 3.5-3.10
  • January 29           Introduction to Methods  Chapter 4
  • January 31         Midterm 1
  • Jan 31, Feb 5       Functional Abstraction   Chapter 4
  • February 7           Functional Abstraction   Chapter 4 (read it again)
  • February 14,19    Arrays   Chapter 5
  • February 21,26    Arrays
  • Feb 28                 Data Abstraction   Chapter 6
  • March 5               Midterm 2
  • March 7,12           Data Abstraction   Chapter 6

  • March 14              Review

    Example Programs from Lectures

  • Circle.java
  • Circle1.java
  • BoolEval2.java
  • BreakContinue.java
  • EvelE.java
  • Message.java
  • Regular.java
  • SquareRoots4.java

    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.

    Homework for both Ira Pohl and Scott Brandt's sections of 12A are the same, as is the criteria for grading.

    Programs will be graded on a 10-point scale as follows:

    Documentation (3 points): Your program must include comments that clearly explain what is being done. There should be a comment at the top of each file describing what the program does. There should be a comment at the top of each class saying what the class does. There should be a comment at the top of each method saying what the method does. And there should be a comment at the top of each block of code (10 lines or less) saying what that block of code does. If you have more lines of comments than you have code, then you are doing well.

    Correctness (4 points): Your program should do what it is supposed to do, as defined in the assignment.

    Elegance, Efficiency, Quality (3 point): Your program should be elegant, readable, exhibit good programming style, be efficient, and generally represent the best solution achievable.

    To Submit Homework

    When submitting homework, use the following form:

    submit cmps012a-ip.w02 hw1 filename.java

    submit is the name of the CATS program you use to turn in your homework.

    cmps012a-ip.w02 is the class locker for Ira Pohl's section. Do not submit to cmps012a-sb.w02 as this is Scott Brandt's class homework locker.

    hw1 is for homework 1. This designation will be hwn where n is the number of the homework assignment.

    filename.java is the file name of your own .java source code

    Homework 1 - Due Jan 14th use submit cmps012a-ip.w02 hw1 filename.java

    Homework 2 - Due Jan 21st use submit cmps012a-ip.w02 hw2 filename.java

    Homework 3 - Due Jan 28 use submit cmps012a-ip.w02 hw3 filename.java

    Homework 4 - Due Feb 12 use submit cmps012a-ip.w02 hw4 filename.java

    Homework 5 - Due Feb 18th use submit cmps012a-ip.w02 hw5 filename.java (Ira Pohl's class) or
                                                           submit cmps012a-sb.w02 hw5 filename.java (Scott Brandt's class)

    Homework 6 - Due Feb 25th use submit cmps012a-ip.w02 hw6 filename.java (Ira Pohl's class) or
                                                           submit cmps012a-sb.w02 hw6 filename.java (Scott Brandt's class)

    Homework 7 - Due March 6th use submit cmps012a-ip.w02 hw7 filename.java (Ira Pohl's class) or
                                                           submit cmps012a-sb.w02 hw7 filename.java (Scott Brandt's class)

    Homework 8 - Due March 14th use submit cmps012a-ip.w02 hw8 filename.java (Ira Pohl's class) or
                                                           submit cmps012a-sb.w02 hw8 filename.java (Scott Brandt's class)

     

    Helpful URLs
  • Reference Material on emacs
  • Java and JGL Libraries
  • SDK from Sun Microsystems
  • Home of Java
  • javadoc Information for the tio package
  • Monthly Java On-line Magazine
  • IEEE Student Chapter
  • ACM Student Chapter

    If there are problems with this webpage,
    contact debdols@pacbell.net

    Last Modified: January 23, 2002

    CE / CIS Class Home Pages
    CE / CIS Home Page