CIS 118

Introduction to Object-Oriented Program Design

Instructor

  • Chuck Iverson
  • Office Hours: MESA/Learning Center
  • Office: 18-108
  • Office Phone: (650) 306-3253
  • Email: iverson@smccd.edu
  • Web Page: http://www.civerson.com

Class Location and Meeting Times

  • Building 22, Room 118
  • 2:10-3:25 pm TTh

Prerequisite

  • Math 110 or Math 111, with a grade of C or better

Materials

  • Starting Out with Java: Early Objects (4th Edition) by Gaddis (ISBN 9780132164764)

Grading

  • Homework and Exercises (45%)
  • Exams and Quizzes (50%)
  • Class Participation (5%)

Course Description

CIS 118 is an introduction to computer science and software engineering for student who have not programmed in another language. The course takes a systematic approach to the design, construction and management of computer programs, emphasizing object-oriented design and programming documentation, testing and debugging techniques. The course focuses on designing and implementing robust, well styled, and maintainable computer programs and introduces basic data structures using Java.

Sample Student Learning Objectives

  • Analyze a problem by decomposing it into smaller problems, develop algorithms to solve the smaller problems, implement the algorithms in Java and test the program with input that shows your program produces correct output whether the input is good or not.
  • Read data from a file, process it and write the results back to a file.

Homework

Programming exercises will be done in class and will also be assigned as homework. Student programs will often be reviewed in class. Programs are evaluated according to the following considerations:
  • Does the program work (i.e., does it react in a correct or reasonable way to all input, whether that input is reasonable or not)?
  • How well does the program handle boundary conditions?
  • Was the program written with the tools and within the constraints outlined in the assignment?
  • Does it make use of the methods and design guidelines discussed in class?
  • Was reasonable judgement used in tackling any gray areas?
  • Is the source code clear, readable and well-commented?
  • Could someone understand the program without having read the assignment?
  • Is the code efficient and to the point?
  • Is it portable?
  • Is it original?

Class Notes and Assignments

http://www.civerson.com/C118/

Exams and Quizzes

Frequent quizzes, three midterm exams and a final exam will be given during the semester. Each midterm exam will cover two to three chapters. You may have one sheet of notes for each exam. See the tentative schedule below for the dates of the exams. Quizzes may be given during the first 15 minutes of class, based on the material discussed in the previous class. The average of your top ten quiz scores will count as one exam score.

Software

If you have a Mac, you probably already have Java installed. If you don't already have Java installed, Version 6 Upddate 26 for all computers is available for free download at: http://www.java.com/en/download/. BlueJ provides a terrific integrated development environment (IDE, version 3.0.5) for Java at http://www.bluej.org/download/download.html.

Expectations

I can help you succeed in this class, but I can't succeed for you. In this class you're expected to be responsible for your own academic success.
  • That means you are expected to attend class and to arrive on time (2 lates equals 1 absence, more than 4 absences leads to a drop).
  • If you're going to miss class, you should notify me ahead of time, either by phone or email.
  • You are expected to contribute to class discussions and to ask questions when something is not clear.
  • You are expected to do your homework assignments before the class when they are due and to seek help from me or your classmates or a tutor if you are having difficulty completing them.
  • You should check the class notes and assignments link (top right of this page) if you miss class. All class assignments, exam solutions, sample code and special notes will be posted at this web site after class.
  • You are expected to see me during office hours for additional help or to take make-up exams.

Instructor's Fall 2011 Class Schedule

My class schedule, below, shows when and where I'm on campus. The best way to contact me if I'm not on campus is via email. I check my email several times a day. I have my email automatically sorted by the first 4 characters in the subject field. For this class, the subject line of the email should begin with C118.

fall2011Schedule

Tentative Topic Schedule

Tuesday Thursday
8/18 - Chapter 1 - Introduction to Computers and Java
8/23 - Chapter 1 - Introduction to Computers and Java 8/25 - Chapter 2 - Java Fundamentals
8/30 - Chapter 2 - Java Fundamentals 9/01 - Chapter 3 - A First Look at Classes and Objects
9/06 - Chapter 3 - A First Look at Classes and Objects 9/08 - Chapter 4 - Decision Structures
9/13 - Chapter 4 - Decision Structures 9/15 - Chapter 5 - Loops and Files
9/20 - Chapter 5 - Loops and Files 9/21 - Review of Chapters 1-5
9/27 - Exam on Chapters 1-5 9/29 - Chapter 6 - A Second Look at Classes and Objects
10/04 - Chapter 6 - A Second Look at Classes and Objects 10/06 - Chapter 7 - Arrays and the ArrayList Class
10/11 - Chapter 7 - Arrays and the ArrayList Class 10/13 - Chapter 8 - Text Processing and Wrapper Classes
10/18 - Chapter 8 - Text Processing and Wrapper Classes 10/20 - Chapter 9 - Inheritance
10/25 - Chapter 9 - Inheritance 10/27 - Chapter 10 - Exceptions and Advanced File I/O
11/01 - Chapter 10 - Exceptions and Advanced File I/O 11/03 - Review of Chapters 6-10
11/08 - Exam on Chapters 6-10 11/10 - Chapter 11 - GUI Applications - Part 1
11/15 - Chapter 11 - GUI Applications - Part 1 11/17 - Chapter 12 - GUI Applications - Part 2
11/22 - Chapter 12 - GUI Applications - Part 2 11/24 - Thanksgiving Holiday
11/29 - Chapter 13 - Applets and More 12/01 - Chapter 13 - Applets and More
12/06 - Review of Chapters 11-13 12/08 - Exam on Chapters 11-13
12/13 - No Class 12/15 - 2:10-4:40
Final Exam


© Cañada College 2011