Site Navigation

Site Search

CS 110 Course Syllabus

CS 110 Syllabus

Instructor

Dr. Edward Gellenbeck
Office: Hebeler 214 E
Phone: 963-1435
E-mail: gellenbe@cwu.edu
Office Hours: Mon., Tues, 10:00 a.m., Wed., Thurs. 11:00 a.m.
Others times by appointment (Check my weekly schedule)

Textbook

Gaddis, Tony (2008) Starting Out with Java 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 with documentation, jGRASP 1.8.3, 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.

You will also want to obtain and bring to lab a USB thumb drive.

WWW

www.cwu.edu/~gellenbe/110/

Software

Available in Hebeler Labs

  • Java JDK 6 from Oracle
  • jGRASP Java Integrated Development Environment (IDE) from Auburn University

Rationale

To most people, computers are another tool to use to make their lives easier and/or better. Their knowledge about computers may be limited to how to operate the hardware and how to run specific software programs like a word processor or a spreadsheet.

Computer professionals, on the other hand, need a much deeper understanding of how computers and software programs work. In this course, we begin by looking at how a software program actually runs on a computer. Next, we look at how to write software programs in the object-oriented programming language Java.

This is the first half of a two-quarter course sequence. This quarter we will cover Chapters 1- 6 in your textbook leaving you in good shape to go on to CS 111 should you choose to continue.

Student Learning Outcomes

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

  • Follow basic software design practices to design, code, test and debug Java programs
  • Use selection and looping control structures in Java programs to control the program execution flow
  • Use classes, objects, and methods to properly modularize Java programs
  • Abstract a problem from its English description.
  • Design test cases and successfully debug programs.
  • Read and understand small-sized programs written by someone other than yourself.
  • Work collaboratively with others using pair programming

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 are designed to take, on average, two to three hours to complete. Lab assignments are designed to take 1 hour to complete. Most programming assignments are designed to take, on average, two to three hours to complete.

Catalog Description

Fundamental concepts of programming from an object-oriented perspective. Classes, objectives and methods, algorithm development, program solving techniques, basic control structures, primitive types and arrays.

This is the first course in the computer science major's pre-admission requirements. No previous computer programming experience is required.

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% Programming Exams: Two programmings exams done in lab on the computer (open book, open notes).
  • 20% Objective Exams: Two objective multiple choice, find the error, and short answer questions (closed book, closed notes).
  • 20% 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.

  • 10% In-Lab Assignments
    • Computer lab assignments, done on Tuesdays and Thursdays, during regularly scheduled lab meeting time.
    • Most labs will be done using pair programming with pairs rotating each lab and assigned by the instructor.
    • If you are unable to attend lab, the work may be done individually and submitted for credit at the start of the following lab.
  • 30% Programming Assignments
    • Individual programming assignments, done as homework outside of regularly scheduled lab meeting times.

No late lab or programming assignments will be accepted. However, you are allowed to drop one lab and one programming assignment for the entire quarter. Students completing all labs and programming assignments will receive extra credit to offset points lost on other assignments.

Class Attendance

Class attendance is expected. My experience has shown that students who consistently miss class get the lowest grades. Class attendance will not be factored into your course grade.

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. For one-half the labs, you will work together in assigned groups using pair programming. For the other labs, you will complete them individually but are free to ask your classmates or teaching assistants for help. The point is to understand the material enough so that you to go on and complete the week's programming assignment on your own as well as succeed on the programming exams on your own.
  • Help each other understand the required being asked for and with debugging the programming assignments . However, you must write the code for your programs yourself. The score you earn on the programming assignments is based on your own individual solution, not on a classmate's or shared work. Do not work together to solve the programming assignments to the extent that two programs are essentially the same solution.
  • All programming assignment 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 or write "no one") in understanding the requirements and/or debugging my program.

ADA Statement

Students with disabilities who require academic adjustments in this class are encouraged to meet with their faculty advisor during office hours to discuss their disability-related needs. Please bring a copy of your Confirmation of Eligibility for Academic Adjustments and your current class schedule to this meeting. If you are unable to meet during office hours due to class schedule conflicts, please call or email to schedule an appointment.

Students with disabilities who have not registered with the Center for Disability Services (CDS) are not eligible to receive accommodations/academic adjustments. Please contact CDS for additional information.

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.