Cuyamaca College Academic Departments and Programs Faculty and Staff Web Sites College Library Resources Information for Students Index of pages on our site  

CS-119/119L, Section 4697/4698 Course Syllabus
Program Design & Development
Fall 2008

Course Description

CS-119 Section 4697 Hybrid course (Classroom/web) 3 Units
CS-119L Lab section 4698 1 Unit (You must be enrolled in CS-119 in order to enroll in CS-119L)


CS-119 is an
introductory course in program design and development using Java or another object oriented programming language to serve as a foundation for more advanced programming, computer science or networking courses. This class emphasizes the development of problem-solving skills as it introduces students to computer science through the use of a modern object oriented programming language. Devotes attention to the development of effective software engineering practices emphasizing such principles as design decomposition, encapsulation, procedural abstraction, testing and software reuse. Students will learn and apply standard programming constructs, problem-solving strategies, the concept of an algorithm, fundamental data structures, the machine representation of data, introductory graphics and networking.

The CS-119L lab section provides tutorials, lab exercises and programming projects intended to reinforce the programming and design concepts taught in the CS-119 section.

Note that CS-119/CS-119L will be taught effectively as one course. Enrollment in CS-119L as a co-requisite is mandatory!

Prerequisites

Completion of CIS-110 is desirable.  Students should also be comfortable working with Microsoft Windows (2000, XP or Vista), and Microsoft applications such as Word and Access.

Course Goals and Objectives (Expected Student Learning Outcomes)

Upon completion of the course, the student is expected to demonstrate practical applications of software engineering methodologies and practices as outlined below:

1. Use software engineering methodologies and practices to: 
  a. Decompose a complex problem into modular components.
  b. Define and provide examples of procedural abstraction.
  c. Define and provide examples of encapsulation.
2. Produce flowchart and pseudocode solutions to solve introductory level programming problems.
3. Design programs that utilize classes from the standard library to solve a variety of programming problems.
4. Design user defined methods to augment the standard library in solving a variety of programming problems.
5. Discuss the difference between public and private access modifiers and their implications in programs.
6. Distinguish between local variables and class attributes and their accessibility implications.
7. Utilize all three fundamental programming structures-sequence, decision/selection, repetition-in solving programming problems.
8. Define the concept of "inheritance" in a programming perspective and provide examples of where it might be used.
9. Provide examples of "polymorphic" methods.
10.  Identify the role and variety of constructor methods in programs.
11. Apply time management strategies critical for success in the business world.
12. Demonstrate critical problem solving skills in the debugging of programs.
13. Trace program flow and predict outcomes.

Instructor

John Gerstenberg
Work: (619) 409-5994 
Email: jgerstenberg@cox.net
Windows Messenger Chat Screen Name: JGerstenberg@cox.net

Background: I am a practicing Software Engineer with 24 years of experience in the electronics and computer software industry.  Areas of experience include digital design, system design/specification, software design/specification in structured and OOP environments, software development in text based (MS-DOS and UNIX) and GUI (Windows/Win-98/NT/2000/XP) environments, web applications, Windows networking, Project Management, multimedia/digital video, user training and product support.  Software development background includes Basic/Visual Basic, C/C++, Assembly, and Pascal/Delphi. Database experience includes DBase, Paradox, Access, Informix, Oracle and MS SQL Server.  

Course Text and Materials

An Object Oriented Approach to Programming Logic And Design  (Required)
Joyce Farrell
Course Technology  ©2006
ISBN: 0-619-21563-1

Java Programs to Accompany Programming Logic And Design  (Required)
Jo Ann Smith
Course Technology  ©2004
ISBN: 0-619-16025-X

Microsoft Visio (version 2000, 2003 or 2007)
Available through MSDNAA: http://www.cuyamaca.net/cis/help/msdnaa.asp
MSDNAA accounts are normally available by the 2nd - 3rd week of class.

Access to a reliable PC with a fast (I.e., cable, DSL) Internet connection for online work.

For lab work, it is advisable to have a USB storage device for saving/backing up work.

Other Optional Text: Any reference books that provide “introductory” coverage of program design and/or Java.

Class Meeting Times

Online via Blackboard 
August 25 - December 15, 2008

Virtual Classroom

I will be using the Blackboard Course Management system for class activities.  Each student will be provided a login account once you are officially registered for the class.  In addition to participating in online discussions, taking exams online and submitting labs online,  I will provide various learning resources such as Power Point slides for each chapter, lecture/chapter notes, code samples as needed and short "how to" video clips as needed to help you get through "tricky parts" of a chapter.  You are welcome and encouraged to use these learning resources in addition to the text material.  Please feel free to ask if there's a particular code sample or a demonstration video that you need that isn't already available.  I'm here to help you succeed.

I will periodically (weekly or bi-weekly) post announcements to the Class Announcements page and/or send out e-mails to class members that may include things such as class announcements, lab due dates, exam reminders, and answers to frequently asked questions. To ensure that you are "kept in the loop", please make sure I have your e-mail address and it's an e-mail account you check frequently.

Virtual Office Hours

I am available to assist you with questions and problems with assignments as needed. I will have Windows Messenger Chat running most evenings if you wish to ask questions or get help with an assignment.  You can also e-mail me questions. If needed, I can arrange to meet with you on campus at a mutually agreeable time if you need help with the class material or an assignment.

Assignments and Grading Policies

Assignments and exams are to be completed and turned in on the due date. Grading is based on accumulated points for the following assignments:

Assignment Points Pct. of Grade
Online Discussion Activity (10) 50 7
Labs (8)  400 57
Exams (2) 200 29
Quizzes (5) 50 7
Total Points: 700 100

Final letter grades will be assigned based on the following point/percentage scale below. Everybody is expected to take an active part in the class and complete the assigned work. I do not give automatic "C" grades for just "chair warming".

Points Pct. Grade
630 - 700 90 - 100 A
560 - 629 80 - 89 B
490 - 559 70 - 79 C
420 - 489 60 - 69 D
< 420 Below 60 F

Note: The CS-119L lab section is a Credit (CR)/ No Credit (NC) grade only. Lab scores are part of the main CS-119 class grade. A grade of C or better in the main CS-119 section will be a CR grade for the CS-119L lab section.

Exams (2 @ 100 points each = 200 Points Total)  
Quizzes (5 @ 10 points each = 50 Points Total)

Exams and quizzes will consist primarily of Multiple Choice and True/False problems but may also contain some short answer or short essay questions. Questions will be based primarily on the text material but there may also be some from posted lecture notes, handouts, labs, and coding demonstrations.  Exams and quizzes will be online and each will be available for at least a one week period.  You may use notes and/or books as needed but be aware that your copy of the exam is not necessarily the same as your classmate's copy. See the course outline for specific quiz and exam dates.  Additionally, I will post announcements and/or send e-mail reminders about quizzes/exams so pay close attention to these "friendly reminders" as well.  There is no make up for missed exams or quizzes unless prior arrangements are made.

Labs (8 Labs @ 50 points each = 400 Points Total)

Lab assignments are designed to provide a “hands-on” reinforcement of the various programming principles presented in the chapter material.  Due dates for each lab are published in the Course Outline and on the Blackboard site with the lab assignment.  Please check the due date carefully and periodically as I may adjust due dates depending on the needs of the class.  All files for all lab exercises must be in a Zip file and must be uploaded to the Assignments page by 11:59 PM PST on the assignment due date.  Late assignments will be penalized 5 points each week late.   Specific Lab standards will be outlined in a separate handout and a video tutorial on how to upload to the Digital Drop Box will be available on Blackboard.

There are good quality Java code editors and compilers available for free.  I will provide a handout on Blackboard with instructions on how to download and install a working Java development environment sufficient for completing class lab exercises.

Online Discussion Activities (10 @ 5 points each = 50 Points Total)

Participate in online discussions. I will post a total of 10 discussion activities over the semester and award points for participating.  I will also award up to 5 bonus points if you respond to a fellow class member's posting of a lab problem in the Java forum and you are first to post a correct resolution.

Attendance

Active participation is important for gaining the maximum benefit from this course.  I will drop students with more than 2 consecutive weeks of inactivity but you are ultimately responsible to drop the class if you decide to stop attending. If you are going to be absent/inactive for more than 1 week due to illness, work travel or family emergency, please notify me preferably by e-mail.  

 

Back to CS-119 Home Page

  Cuyamaca College Home Page  Write to Cuyamaca College
 Home  |  Academic Departments  |  Directory  |  Library  |  Student Services  |  Site Index