COSC 211: Programming Data Structures

Winter 2018

MW 5:30-7:10 503PH

Instructor: Dr. William Sverdlik
Office: 512D Pray-Harrold
Office Hours: (tentative) Walk-In MW 12:15-1:00, W 3:00-5:30, MW after 7:10pm (by appointment). If these times do not work for you, please contact me. I promise we will find a time to meet.
Phone: 734-487-7081

What I hope you get out of this course (some might call this "Objectives") :
This class is the "middle class" of a three semester sequence (111-211-311). At the very minimum, I hope you find this class a natural continuation of what you learned in COSC 111. From that prespective, this class continues to introduce new features of the Java programming langauge. As a prerequisite for COSC 311, this class should introduce you to new programming concepts like algorithm efficiency, data structures, and object oriented design. Along the way, we hope to hone our skills at debugging and employing different programming tools.

Textbook: Savitch, Absolute Java, Addison Wesley (Sixth Edition). Find it here.

Quizzes, Tests and Final Examination: There will be three short (20-30 minute) quizzes given after weeks 2,4,6 of the semester (dates below). Each quiz counts towards 10% of your final grade (30% total). At approximately week 12, we will have a 90 minute test. This will count 20% of your final grade. The final examination will count for 20% of your final grade. Make up quizzes and exams will be provided ONLY if both of the following conditions are met:

a) I am informed of the missed quiz/exam prior to the quiz/exam
b) you provide written documentation justifying why you missed the exam. This could include a doctors note, a police report

Programming exercises: There will be approximately 12 take home programming assignments.

You must demonstrate the program to me and hand in a paper copy (a listing) of the program on the assigned date. The listing is due at 5:30 pm of the assigned date. Late programs are penalized 25% and will be accepted upto the next class meeting. Programs submitted at 5:31pm of the assigned date are considered late and will be penalized.

PLEASE NOTE: I do not accept electronic submissions of programs, nor do I debug programs submitted electronically

70 % of your grade is based on the quizzes and exams, 30 % is based upon programs.

Grades will be assigned via the following algorithm:

If you receive less than 1/2 of the  programming points
Then grade=Fail
Else grade is determined via the table below:

Approximate Grading Scale:
       90 - 100 %     A
       80 - 90  %      B
       65 - 80 %       C
       50 - 65 %       D

Please note that this scale is approximate. Pluses and minuses will be awarded in situations "on the edge".

Topic sequence: We will cover approximately chapters 6 through 13, and chapter 15. Chapter 6 is review from COSC 111.

Attendance: is not required, but you miss class at your own risk. It is your responsibility to find out the missed work; I suggest you get the phone number of a classmate. You need not inform me of missed classes, and you should not ask me about material covered in a missed class.

Cheating: It violates University policy, you don't do it. Cheating is defined as representing all or part of someones elses work as your own. While you are certainly encouraged to seek the advice of others in this class on assignments, the work you hand in should represent your own efforts. Violation of this rule will be dealt with according to University policy. If you are really stuck on a problem, come see the instructor!

Things You Should Remember from COSC 1

Lab Assignments

Submitting assignments:


All programs submitted (in class or take home) MUST begin with a heading (comment) that includes your first name, last name, student ID, and assignment number) as in

 /*      First Name : Bill
          Last Name: Jones
          ID: 76111
          Take Home Assignment #1

Failure to  make this the first thing I see when grading your homework will result in a 10% penalty. Programs should employ descriptive variable names, all methods should be commented; specifically every program must include a program description after the heading specified above. Failure to include a description will result in a 10% penalty.

The assignments:

Take-Home Assignments
  1. Assignment #1 - Let's Play Chess, due Wednesday  January 17
  2. Assignment #2 - Digital Image Processing,  due Wednesday January 24
  3. Assignment #3 - Protected Access, due Monday  Wednesday January 31
  4. Assignment #4 - Inheritance  , Wednesday February 7
  5. Assignment #5 - Polymorphism  , Wednesday February 14
  6. Assignment #6 - Exceptions  , Wednesday February 28
  7. Assignment #7 - File I/O , Wednesday March 7
  8. Assignment #8 - File I/O (BIAS??) , Wednesday March 14 (TEAM PROJECT)
  9. Assignment #9 - Recursion , Wednesday March 21
  10. Assignment #10 - Sorting and Searching, Wednesday March 28
  11. Assignment #11 - Recursion Wednesday April 11 (This is extra credit)
  12. Assignment #12 - Interfaces Wednesday April 4
  13. Assignment #13 - Linked Lists, Wednesday April 11

Schedule: (this is likely to change, so check often)


    There are no classes on Monday January 15 (Martin Luther King Day)
    There are no classes from February 19 through February 23 (Winter Recess)

Date Text Topics
Web Page
  • Meet and Greet
1/8, 1/10
Ch 6
  • Arrays - review
1/17 , 1/22, 1/24
Ch 7
         Wednesday 1/24 - Quiz 1
 1/29, 1/31
Ch 8
2/5 , 2/7
2/12 , 2/14
Ch 9
  • Exception Handling
  • Wednesday 2/14 - Quiz 2
2/19 through 2/23

Winter Recess
2/26 , 2/28
3/5 , 3/7
Ch 10
  • File I/O
  • Wednesday 3/7 - Quiz 3
3/12 , 3/14, 3/19
Ch 11
  • Recursion
3/21 , 3/26  , 3/28
Ch 13

4/2 , 4/4, 4/9, 4/11
Ch 15
  • Linked Data Structures

4/16, 4/18

  • Review and Catch Up

Final Exam at 5:30!!

A contract:

I will:

-treat you with respect. This includes honoring your time.
-arrive to class on time
-not use a cell phone during class
-not engage in any social networking while in class
-will return exams, quizzes and assignments in a timely manner. Typically, this will be within one week.

I expect the following from each of you:

- that you treat me with the same respect you would like me to show you
- you will arrive to class on time
- you will put your cell phones on "Silence" and not engage in any texting at all during class. In fact, you should not even look at your cell phone during class.
- you will use your computer for class purposes only. You will not Facebook, Twitter, or engage in any other non-class related activities
- you will approach me with any questions concerning the class at the earliest possible time. Coming to my office 3 months into the semester and telling me "I don't understand" is unacceptable.