Course Syllabus

Course Description

EECS 40 Object-Oriented Systems and Programming (Credit Units: 4)


Prerequisite: 22L  


Course Outcome/Performance Criteria

Course objectives represent what the course strives to accomplish.
Course outcomes represent what will be measured to determine if the course met its objectives.
Course outcomes relate to a subset of the program outcomes.

  • Course Outcomes:

    1. Write object-oriented programs in Java.

    2. Test and debug Java programs.

    3. Design and implement object-oriented software systems in Java programs.

  • Related Program Outcomes:

    • (EAC a) an ability to apply knowledge of mathematics, science, and engineering
    • (EAC b)
    • (EAC e) an ability to identify, formulate, and solve engineering problems
    • (EAC k) an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice

Grading Policy

Parts Topic Share
Programming
 4 Projects 60%
Midterm
 
15%
Final
25%

Midterm exam is scheduled to be held on Wednesday May 9th 2018.

 

Final exam will be held on Thu Jun 14 2018 7:00PM at SSPA-1100 till 9:00PM.

 

 


Course Resources

  • Course web site
    online at here
  • Text book
"Head First Java, 2nd Edition'' by Kathy Sierra and Bert Bates

"Programming Android, 2nd Edition Java Programming for the New Generation of Mobile Devices" by Zigurd Mednieks, Laird Dornin, G. Blake Meike, & Masumi Nahamura

 

 

Tentative Class Schedule

 

Lecture Topic Reading Assignment Comment
1 Intro to Java Chapter-1
2 Java Program Anatomy Chapter-1
3 Intro to OOP Chapter-2
4
  • Arrays in Java
  • Working with Files
  • Garbage Collection
  • Package and Import
  • Function Arguments
  • Setter & Getter
  • Comparing Objects

Chapter-3

Chapter-4

Chapter-5

5
  • Inheritance
  • Private Constructors
  • singleton class
  • Constructor Chaining
  • Access modifiers
  • Polymorphism
  • Overloading vs Overriding

Chapter-6

Chapter-7

6
  • Abstract Class
  • Interface

Chapter-8

Midterm Exam
7

Review Constructors, GC, Static

Exception Handling

Multi-threaded Programming

Chapter-9

Chapter-11

Slide of Lecture-15

8

Inner classes

Local Classes

Anonymous Classes

Synchronization

Slide of Lecture-15
9 Serialization Chapter-14
10

Generics

Data Structure

Chapter-16

 

 

 

 

  • Supplemental books

Course policies

  • You are expected to check the course website daily for assignments and announcements.
  • Attendance Policy:

    Attendance at lecture and laboratory sections is expected.
    It is the student's responsibility to make up for any missed instruction.
    Make-up assignments and/or exams will only be arranged for absence due to medical (or similar) reasons. Proper documentation is required.
  • Laboratory Policy:

    You are required to bring your own laptop in lab sessions.
    You are supposed to attend the enrolled lab section. You are free to attend the other lab sections as long as there are free seats available. They are offered strictly for your benefit. Please attend the same lab section every week.
  • Assignments:

    There is no late submission policy - late assignments are NOT accepted. The course material and project work in this course builds on itself, so be careful not to fall behind. Catching up is extremely difficult, especially as other coursework picks up mid-quarter.
    For all re-grades, submit a written request to the instructor within ONE week. All submissions are re-graded entirety, potentially resulting in a lower overall score.
  • Exams:

    The course includes a midterm and final examination (subject to change).
    Each exam covers all the material discussed in the course until the day of the examination.
  • Academic Honesty:

    The complete policy statement on Academic Honesty is published in the UCI Schedule of Classes, Spring Quarter 2018.
    Under no circumstances are students allowed to work together on any of the examinations.
    Dishonesty includes false representation of course work, including but not limited to cheating on an exam, fraudulently presenting lab exercises or assignments by someone else as one's own, or getting someone else to take the course.
    Do not copy code! This is a serious offense that will not be tolerated in this course.
    Dishonesty will be reported and punished under University regulations.

Course Summary:

Date Details Due