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 9591/9592 Course Syllabus
Program Design & Development - Spring 2012

Course Description

CS-119 Section 9591 Hybrid course (Classroom/web) 3 Units
CS-119L Lab section 9592 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! College policy requires me to drop students not enrolled in both sections!

Prerequisites

Completion of CIS-110 or comparable introductory computer course is desirable.  Students should be comfortable working with Microsoft Windows (XP, Vista or 7), using a web browser, uploading/downloading files, installing software and using Microsoft applications such as Word and Access.

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

Background: Currently, I am a Senior Programmer/Analyst with the City of Chula Vista with over 25 years of experience in the electronics and computer software industry. Work experience includes private sector companies as well as government agency experience.  I am an active software and database developer currently using Visual Basic.Net, ASP.Net, C#, MS Access, SQL Server 2000/2005,  Reporting Services for SQL Server, and Geographic Information Systems (GIS) to implement a wide variety of government business solutions. I have also worked for private sector companies on projects for retail inventory and a variety of projects developing cable TV/broadcast automation systems. My industry experience also includes digital design, system design/specification, software design/specification in structured and OOP environments, software development in text based (MS-DOS and UNIX), GUI (MS Windows) environments, web applications, Windows networking, Project Management, multimedia/digital video, user training and product support.  Software development background includes Basic/Visual Basic, ASP.Net, C/C++, C#, Java, Assembly, and object Pascal/Delphi. Database experience includes DBase, Paradox, Access, Informix, Oracle and MS SQL Server.

Additionally, I have been a part-time college instructor in the Information Systems and Computer Science disciplines for over 12 years teaching Programming Logic and Design, Visual Basic, ASP.Net, SQL Server, operating system theory and object oriented software technology.
 

Course Text and Materials

An Object Oriented Approach to Programming Logic And Design, 3rd Edition  (Required)
Joyce Farrell
Course Technology  ©2011
ISBN-10: 0538452986  ISBN-13: 9780538452984
E-Textbook available through www.cengage.com at a substantially lower cost than the printed copy

For the Java programming, to save on book costs, I will provide online resources, notes and sample Java code that you may use as an aid for completing class assignments.

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

NetBeans (Java Integrated Development Environment)
Fully licensed, functional IDE available from www.NetBeans.org as a free download. I will provide download and installation instructions the first 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.

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

Sams Teach Yourself Java 6 in 21 Days
Rogers Cadenhead & Laura Lemay
2007 Sams Publishing
ISBN-13 978-0-672-32943-2

Murach's Java Programming (4th Edition)
Joel Murach
2011 Mike Murach & Associates, Inc.
ISBN-13: 978-1-890744-65-3

Class Meeting Times

Classroom E-210
Tuesday Lecture 6:30 PM - 8:00 PM; Lab 8:10 PM - 9:50 PM
Online via Blackboard 
January 24 - May 22, 2010

Virtual Classroom

Besides our regular classroom time, I will also 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.  If you have questions regarding chapter material or assignments, you can e-mail me questions. There are also discussion forums on Blackboard where you can post questions.  I am also available after class. 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. My goal is to help you succeed but it is your responsibility to ask for help if you need it.

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
658 - 700 94 - 100 A
630 - 657 90 - 93 A-
609 - 629 88 - 89 B+
575 - 608 83 - 87 B
560 - 574 80 - 82 B-
540 - 559 78 - 79 C+
490 - 539 70 - 77 C
420 - 489 60 - 69 D
< 420 Below 60 F

Note: The CS-119L lab section is a pass/no pass 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 pass grade for the CS-119L lab section. Incompletes will not be given unless initiated by the student prior to the final exam date and must be for a medical emergency, family emergency or other extenuating circumstance.

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 are outlined in a separate handout and a video tutorial on how to upload to the Lab Assignment page is available on Blackboard.

We will be using the NetBeans Java IDE in class for lab work.  I will provide a handout on Blackboard with instructions on how to download and install a working Java development environment on your home computer that is 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