Syllabus

CS 302 Syllabus – Spring 2017

  1. Description and Learning Objectives
  2. Course Work
  3. zyBook Chapter Due Dates
  4. Regular Due Dates and Times
  5. Weekly Schedule
  6. Final Grades

Description

This course introduces you to fundamental computer programming concepts as you learn to program in the Java language. Algorithm development, structured programming, code organization (methods), data organization (arrays), basic object-oriented programming, exception handling, and file access are covered.

Learning Objectives

Students successfully completing this course will be able to analyze problems and formulate algorithms; create robust, user-friendly, well-structured and well-documented Java programs; read basic Java programs to determine their purpose; and have a basic understanding of how computers work.

Course Work

  • Participation (20%)

Your grades are assessed with 80% of the possible points in each category being full credit. This is intended to help account for the variety of individual circumstances such as travel, illness, conferences, forgetfulness, etc.

    • zyBook Participation Activities (5%) Readings and participation activities prepare you for the lecture and are consequently due at the beginning of each week.
    • zyBook Challenge Activities (5%) Are due following the weekly lecture on the topic. These are important practice with applying the concepts and developing skill with Java.
    • Team Labs (5%) Students participate in a 75-minute team lab that meets weekly, beginning Jan 24th in the lab rooms. Grading is based on attendance and participation. During each lab you will be assigned different partners to develop Java programs focusing on the weekly topics.
    • TopHat Questions (5%) During lecture there will be many opportunities to participate using TopHat.
  • Programs (35%)

Programming assignments give you an opportunity to use the skills you’ve learned in lecture, the labs, and the textbook readings. There will be three programming assignments, each is worth 11%, 12%, and 12% of your grade, respectively. The experience you gain doing programming assignments helps prepare you for exams, future CS courses, and a career in CS.

  • Exams (45%)

Exams are a primary tool we use to evaluate your performance in this course including your skills with reading Java code.

Midterm 1 is 10%, Midterm 2 is 15% and the Final Exam is 20% of your grade.

zyBook Chapter Due Dates:

Chapter Participation Activity Challenge Activity Program Milestones
1. The Basics 1/17/17 1/23/17 P1.M0 – 1/26
2. Conditionals 1/23/17 1/30/17 P1.M1 – 2/2
3. Loops 1/30/17 2/06/17 P1.M2 – 2/9
4. Arrays 2/06/17 2/13/17 P1.M3 – 2/16
5. Multi-D Arrays 2/13/17 2/20/17
6. User-Defined Methods 2/20/17 2/27/17 P2.M1 – 3/2
7. More Methods / Arrays 2/27/17 3/6/17 P2.M2 – 3/9
8. Using Objects 3/6/17 3/13/17 P2.M3 – 3/16
9. Creating Classes 3/13/17 3/27/17 P2.M4 – 3/30
10. OO Design 3/27/17 4/3/17
11. Inheritance 4/3/17 4/10/17 P3.M1 – 4/13
12. Exceptions 4/10/17 4/17/17 P3.M2 – 4/20
13. File IO 4/17/17 4/24/17 P3.M3 – 4/27
14. Abstracts 4/24/17 5/1/17 P3.M4 – 5/4

Regular Due Dates and Times:

  • zyBook readings and Participation Activities are due by Monday 8:00am at the beginning of the week they are discussed in lecture.
  • zyBook Challenge Activities are due by Monday 8:00am following the week they are discussed in lecture.
  • Program Milestones are due by 8:00am on Thursdays.
  • Exams 1 and 2 are held at 5:00pm on Thursdays (promptly report exam conflicts).
  • Exam 3 is scheduled for 2:45pm on Wednesday, May 10th (report conflicts).

No Late Assignments Accepted

  • The team labs, lecture TopHat questions, participation activities and challenge activities each have a policy of completing 80% on time for full credit.  This is intended to allow for handling of various individual circumstances to include travel, attending conferences, illness, etc.
  • For extreme circumstances such as a death in the family or hospitalization, report the circumstance as soon as possible to your instructor along with current progress on any programming assignment. Programming assignments should be turned into zyBooks. Also, as soon as possible, provide appropriate documentation.

Weekly Schedule:

Week/Mon Lecture Topics Exams No Lecture Days
1/17/17 The Basics MLK Jr Day: Mon
1/23/17 Conditionals
1/30/17 Loops
2/6/17 Arrays
2/13/17 Multi-D Arrays
2/20/17 User-Defined Methods  Exam 1 (Feb 23)
2/27/17 More Methods / Arrays
3/6/17 Using Objects
3/13/17 Creating Classes
3/20/17  Spring Break
3/27/17 OO Design
4/3/17 Inheritance Exam 2 (Apr 6)
4/10/17 Exceptions
4/17/17 File IO
4/24/17 Abstracts
5/1/17 Review / Special Topics Study Day: Fri
5/10/17 Exam 3 (May 10) EXAM WEEK

Final Grades

Final grades are determined by computing the weighted average of Labs, Programs and Exams. There is no curve computed for individual exam or program scores. The final overall percentage is used for final grades. If particular assignments and/or exams are more difficult than other semesters, the final grade cutoffs may be adjusted, to the student’s benefit, to reflect the relative difficulty.

  • A 93 and above
  • AB 88 and above
  • B 80 and above
  • BC 75 and above
  • C 70 and above
  • D 60 and above
  • F below 60