Class Syllabus

Intro to Object-oriented Programming with Java (COP 2551)

Spring 2010 – Ref #318841 (TR 11:00-12:15) in Kent C-213

Course Description

This course introduces the principles and practices of object-oriented (OO) programming.  Topics include user interface and problem data classes; class versus instance properties and methods; abstraction; encapsulation, inheritance; polymorphism; software design techniques; and problem solving. The concepts are utilized in numerous programming projects.  Prerequisite: COP-1000.

Instructor and Contact Information

Professor Steven DiFranco (sdifranc@fscj.edu, 904.381.3592). My office hours and all materials for this class are available at the class web site: http://www.difranco.net.

What You Need for the Class

  • Text: Downey, Allen B., How to Think Like a Computer Scientist, Java Version, 4th Edition. You can download the book for free here, under the terms of the GNU Free Document License. At our first class I will ask how many students would like to have a double-sided, three-hole punched copy of the text made at a local copy shop (like Office Depot). I will have a price for this then, but imagine it will be less than $15.

  • Internet access (from home or school) and a FCCJ email account. If you don't yet have an account, apply for one at: https://artemis.fccj.edu/student/.

  • Java SE 6 and the JCreator LE IDE. This software is installed in our classroom and in the Kent Campus Learning Center. Detailed instructions for obtaining and installing this software are available at: http://www.difranco.net/course_sw.htm.

Class Expectations

  • You can expect me to prepare and present challenging lectures and assignments, grade your assignments and tests promptly and fairly, reply to your questions by email within 24 hours, and be respectful of you as a student, your questions and concerns.

  • I expect you to attend class regularly and be prepared to participate, finish assignments and take tests on time (and that these reflect your own best efforts in keeping with the College's policy on academic dishonesty), devote sufficient time outside class to master the material, and be respectful our learning community and its members (which includes no cell phone calls or texting during class, please!).

Evaluation and Grades

  • Grading scale. Your grade is based on the weighted average of your tests, homework assignments, and my appraisal of your effort in the class, based on the scale A (>= 90), B (80-89), C (70-79), D (60-69), and F (< 60).

    • Tests (30%). Three in-class tests will be given as shown on your schedules. The optional final exam can replace your lowest test test grade.

    • Homework assignments (60%). Homework is due weekly by email; see the homework assignments and  homework guidelines. Your lowest homework grade will be dropped.

    • Instructor evaluation (10%). A subjective evaluation of your attendance, preparation, participation, and overall contribution to the class.

  • Other possible grades:

    • W (Withdrawal) – if you submit a withdrawal by March 25.

    • I (Incomplete) – if you have completed at least 75% of the coursework with a passing grade and extenuating non-academic circumstances keep you from completing the class during the regular term; requires an "I Grade Contract" and completion of all work within the first eight weeks of the next term

    • FN (Failure for Non-Attendance) – may be assigned anytime after the March 25 if you have stopped attending class and submitting homework

Expected Learning Outcomes

When you successfully complete this course, you will:

  • Be able to implement a structured program design in the Java programming language
  • Be familiar with the Java packages and classes
  • Be able to define a class
  • Be able to define a class using inheritance, polymorphism and interfaces
  • Be able to use array data structures and  ArrayList objects
  • Be able to create a graphical user interface (GUI)
  • Be able to use files for input, storage, and update
  • Be able to prepare program documentation

Schedule (tentative)

The class schedule is available as a link from the course index. This schedule may change, depending on our progress. Changes will be announced in class and posted to our web site.

Updated: 2009-12-16