Site Search

CS 111 Course Syllabus

CS 111 Syllabus for Spring 2007
Instructor

Dr. Edward Gellenbeck
Office: Hebeler 214 E
Phone: 963-1435
E-mail: gellenbe@cwu.edu
Office Hours: M 11:00 a.m., T 1:00 p.m., W 3:00 p.m.
Others times by appointment (Check my weekly schedule)

Textbook

Gaddis, Tony (2005) Starting Out with Java 5 Early Objects, Addison Wesley Publisher

When purchased new, the textbook comes with a CD containing appendices, case studies, source code for all the example programs, JDK 5.0 with documentation, jGRASP with documentation, instructions for installing the JDK and jGRASP, answers to odd-numbered review questions and checkpoints.

The textbook's CD student resources are also available online for downloading.

WWW

www.cwu.edu/~gellenbe/111/

Software

Available in Hebeler Labs

Rationale

This course is the second half of a two-quarter course sequence on the fundamentals of programming. While we will do the programming projects using the Java programming language, the concepts you learn in this course are much more important than the programming language. You should leave the course with a good understanding of the design and construction of object-oriented programs.

This quarter we will cover Chapters 7-12 & 14 in your textbook leaving you in good shape to go on to CS 301 should you choose to continue.

Student Learning Outcomes

Upon completion of this course, you will demonstrated the ability to

  • Abstract a problem from its English description.
  • Use classes to sub-divide the problem into a programming solution.
  • Implement classes in Java to develop a working program.
  • Use selection, repetition, and recursion to solve interesting problems.
  • Use arrays, vectors, class libraries, and dynamic structures in your programs to store and work with data.
  • Design test cases and successfully debug programs.
  • Read and understand medium-sized programs written by someone other than yourself.

I strongly believe the only way to learn computer programming is by doing. This course is designed to get you actively involved through the lab and programming assignments.

This course will probably require more work from you than most of your other courses. Textbook readings and preparation for Lab assignments and readings are designed to take, on average, two to three hours to complete. Lab assignments are designed to take 1 - 2 hours to complete. Most programming assignments are designed to take, on average, four hours to complete.

Catalog Description

Continuation of object-oriented programming concepts introduced in CS 110. Inheritance, exceptions, graphical user interfaces, recursion, and data structures.
Prerequisites: CS 110, MATH 163.1

Grade Distribution
B+ 87 - 89% C+ 77 - 79% D+ 67 - 69%
A 93 - 100% B 83 - 86% C 73 - 76% D 63 - 66% Below 60% F
A- 90 - 92% B- 80 - 82% C- 70 - 72% D- 60 - 62%
Assessment
  • 20% Mid-term Exam: One mid-term exam over two days: Objective multiple choice and short answer questions (closed book, closed notes) followed by programming exam done in lab (open book, open notes).
  • 30% Final Exam: Both objective exam (closed book, closed notes) and in-lab programming exam (open book, open notes). All students must take the final exam.

If you must miss an exam, contact your instructor prior to the exam to schedule a time to make it up.

  • 15% Computer Lab Assignments
    • Weekly computer lab assignments, due at the start of class on Wednesday.
  • 35% Programming Assignments
    • Weekly programming assignments, due at the start of lab on Tuesday.

You will be allowed one late lab and one late programming for the entire quarter. Late labs and programming assignments are due at the start of class on Friday.

Class Attendance

Class attendance is expected and recorded. My experience has shown that students who consistently miss class get the lowest grades. To encourage class attendance, you are freely given 3% bonus points to add to your total accumulated score. However, each absence (for whatever reason except sponsored University excused absences) results in a loss of 1% from your bonus points. Whatever bonus points you have remaining at the end of the semester will be added to your accumulated score.

Academic Integrity

Students learn differently. Some learn best on their own. Others learn best in groups. Many learn best by teaching others. I encourage everyone to help each other learn the material. Helping each other learn is different from copying each other's work. Here are some specific do's and don't's for this course:

  • Help each other with the lab assignments. You may work together, but do the work on separate computers.  The point is to understand the material enough so that you to go on and complete that week's programming assignment on your own.
  • Help each other understand and debug the programming assignments . However, you should write the code for your programs yourself. Writing it yourself is the only way you will learn. Do not work together to solve the programming assignments to the extent that two programs are essentially the same solution. 
  • All program solutions turned in for credit are to be your individual work and should demonstrate your problem solving skills, not someone else's.  Since everyone is writing their own code, no two programs should be the same or so similar that I could convert one to the other by a simple mechanical transformation (e.g. changing variable names and comments). I consider this plagiarism and a violation of academic code.
    • First violation: Students must meet with the instructor.  In most cases, the grade will be split between the authors of the copied programs.
    • Second violation: Students will receive no credit for the assignment.  An incident letter will be placed on file in the Computer Science Department and the matter referred to the Computer Science Department Chair.

    The following honor code should appear in the header comment to all programming assignments:
    I pledge that this program represents my own program code. I received help from (fill in the names) in designing and debugging my program.

ADA Statement

Students who have special needs or disabilities that may affect their ability to access information and/or material presented in this course are encouraged to contact me or Robert Campbell, Director of Disability Support Services , on campus at 963-2171 for additional disability-related educational accommodations.

Caveat

The schedule and procedures for this course are subject to change. It is the student's responsibility to learn of and adjust to changes.