SYLLABUS:

CS 258 Programming III: Spring, 2019

Southern Oregon University, Department of Computer Science

 

Prerequisites:

B grade in CS 257, MTH 251 with a C- or better

 

Professor:   Pete Nordquist

Room:         Computer Science Building CS 223

Phone:        552-6148

E-mail:       nordquip@sou.edu

 

Office Hours:

    See http://cs.sou.edu/~nordquip/NordquistSchedule.pdf

 

Web Site:

http://cs.sou.edu/~nordquip/cs258   

 

The web site has lab assignments, notes, and demos.  We will also use Moodle for exams and class group discussions.

  

Course Text (not required):

Absolute Java, Walter Savitch, 6th Edition, Pearson, ISBN 978-0-13-404167-7

 

Course Description and Objectives:

This class covers exceptions, packages, file input/output, recursion, bit operations, and threads. The course also provides an introduction to system engineering, abstract data types, generics, and basic data structures using objects. We assume that students are competent in programming in Java.

 

Please remember that struggle is the root of learning and try not to be discouraged by it.  When things start to feel overwhelming, talk to me or your classmates about what is happening and continue to try to move forward.  Personally, it helps me to attempt to describe my problem in writing.  The act of describing the problem often yields a way forward.  If not, you can send what you have written to me as an email.  Sometimes you need to take a break for a while or call it a day, but don’t give up.

 

Tentative Topic Coverage: This schedule may change depending on class pace

 

Week                  Sections  -- Location in the text                                                       

1                         Review, Pseudo code, Exceptions  -- Chapters 8, 9
2                         Packages (Chapter 5 Package Names and Directories), File Input/Output  -- Chapter 10

3                         Bit operators (not in the text), Software Engineering -  Chapter 12 (only obliquely related)

4                         Bit operators, Recursion – Chapter 11

5                         Recursion

6                         Data Structures (List, Queue, Stack)

7                         Generics – Chapter 14

8                         Data Structures (Trees) – Chapter 15

9                         Threads and Monitors – Chapter 19

10                       Review

 

Course Grading:

There are six required lab assignments, and your lab scores are worth 30% of your course grade.  To be successful, you must understand, character by character, the purpose of the code you write and be able to accurately describe the results this code will produce as seen by the user of your lab.  Your understanding and ability to predict/describe the results your code will produce are more important than the results themselves, but the results are still important, because they are measurable.  The labs are your chance to practice, and practice makes progress.  Lab due dates are on moodle.  I charge a 1 point per calendar day late fee for labs not submitted on time.  If you turn labs in late, it is very difficult for me to get comments back to you in a timely manner.  Lab related coding problems will be on every quiz and on the final.

 

There will be three exams during the term and a comprehensive final.  Make-up exams will not be given unless arrangements are made in advance, or you had a bona fide emergency on the day of the exam.  Your in-class exam scores are worth 50% of your total grade.  There are two options for the final:

1.    Keep all of your regular class exam scores and do not take the final.  Under this option, your in-class exam scores count for 70% of your grade instead of 50%.

2.    Have your lowest regular class exam score thrown out.  Under this option, your three highest in-class exam scores count for 50% of your grade, and your final score counts for 20% of your grade.

 

There is no risk in taking the final.  If you take the final, the score you receive is calculated using whichever option gives you the best overall score.

 

Grade Breakdown:                                                            93-100 A               90-92 A-

                                                         88-89   B+                82-87   B               80-81 B-

                                                         78-79   C+                72-77   C               70-71 C-

                                                         68-69   D+                62-67   D               60-61 D-

                                                         Under 60 F

 

Syllabus statements from the provost’s office.