Introduction to Program Design and Development–CIT 020–Evergreen Valley College

Instructor:
J. David Eisenberg (jdavid.eisenberg@gmail.com) Phone: 274-7900 x6577
Office Hours (Room R3-323):
4:30 p.m.–6:00 p.m. Monday
4:30 p.m.–5:30 p.m. Wednesday
10:00 a.m.–11:30 a.m. Tuesday, Thursday
General Information
3 Units | CR | Prerequisite: Math 13 or equivalent
Course Description

CIT020 is an introduction to computer programming and the fundamentals of software engineering. The focus is on problem solving and algorithm design within the context of the software development cycle, including analysis, design, coding, and testing. Students will use systematic problem solving techniques to develop and test program specifications and detailed logic plans. Students will code their designs in a programming language that introduces and reinforces the concepts and techniques needed for object-oriented design solutions. Debugging and testing will be treated as extensions of the coding task.

Objectives
Process

This class consists of lecture and lab. The instructor will be present to assist you during the lab. You may work on assignments in the lab or use your own computers. In order to complete assignments, you may also need to work on them outside the scheduled laboratory periods.

Required Texts
Learning Processing, Daniel Shiffman, (Morgan Kaufmann Publishers) ISBN 978-0-12-373602-4
Assignments
You will be assigned several programming projects ranging from light to moderate complexity. The material you hand in (or email) to the instructor must contain the source code with comments that include your name, the assignment number, and a description of the problem to be solved. Assignments will be graded on functionality, organization, readability (which includes proper use of naming and indention), and appropriate use of programming constructs. If the assignment requires you to hand in printouts, please staple together all papers.

When you email an assignment, you must name the files exactly as required in the assignment, or they will not be graded. File names may not contain blanks or uppercase letters unless specifically required.

Exams
You will have two midterms and one final; there may be pop quizzes as well. The comprehensive final will be on the last day of class, 21 May 2012, during normal class hours. The final will cover topics that include, but are not limited to: determining what a program fragment produces as output, completing the writing of a partial program, and debugging a non-working program.
Grading
The work on the tests and exercises will be weighted and combined to calculate your final grade as follows:
Weight
Lab Assignments:60%
Midterms:20%
Final Exam:20%
Grading
90% and aboveA
80%-89%B
70%-79%C
60%-69%D
Less than 60%F
Attendance

You are required to attend classes. If you decide to drop the class, it is your responsibility to do so. Five absences may cause you to be dropped - please notify the instructor if you have any extenuating circumstances. If you know of an absence in advance, please send me an email. Deadline dates for dropping a class with and without a “W” are printed in the EVC Schedule of Classes.

If you are late to a class session, you will miss the material presented before you arrived.

Policies

Exercises are to be submitted prior to the end of the class lab period on the date due. If turned in late, you will receive reduced credit; one letter grade per class session late up to two sessions late. Missed tests or exercises will receive zero credit. The final exam is required. Discussion about assignments is encouraged, but you must each do your own work. Cheating and plagiarism will be met with an F on the assignment. See the EVC catalog for details on the College Honesty Policy as well as student disciplinary and grievance procedures.

If you have learning or physical needs that require special accommodations, please let me know as soon as possible.

Course Outline

Note: the pace at which we will cover these subjects may deviate from this printed schedule. Your mileage may vary.

Session Subject Assignment Due

30 Jan 2012

Pixels and Processing

First Sketch

6 Feb 2012

Interaction and Variables

Lesson One Project

13 Feb 2012

Conditionals

Variables

20 Feb 2012

President’s Day


27 Feb 2012

Loops

Conditionals

5 Mar 2012

Functions

Loops

12 Mar 2012

Midterm 1


19 Mar 2012

Functions (continued)


26 Mar 2012

Objects

Functions

2 Apr 2012

Spring Break—no class

9 Apr 2012

Arrays

Objects

16 Apr 2012

Mathematics

Arrays

23 Apr 2012

Midterm 2

 

30 Apr 2012

Transformations

Mathematics

7 May 2012

Images and text

Transformations

14 May 2012

Work on Final Project

Images and Text

21 May 2012

Final Exam