Teaching   |   Research   |   Biography   |   Contact Me    |   About   |   Help   |   Home

COP 3804 Intermediate Java Programming - Fall 2012

   
 Professor     Michael Robinson
 Email     michael.robinson@cs.fiu.edu
 Webpage     www.cs.fiu.edu/~mrobi002/teaching
 Tel     305-348-7523
 Office     ECS 212 D
   
 Course Title   Intermediate Java Programming
 Course Number   COP 3804
 Time-Place   Class : Mo/We 7:50PM - 9:05PM @ECS-134
 Lab : Mo/We 9:10PM - 10:10PM @ECS-241
 Credits   3
 Class Type   Required
 Prerequisites   COP 2250
 Co-requisites   CEN 3721
 Starts   Monday Aug 20th, 2012
 Ends   Saturday Dec 1st, 2012
 Class Policies   FIU Academic Affairs policy on academic dishonesty
   

Catalog Description:
  A second course in programming. Continues Programming in Java by discussing object-oriented
  programming in more detail, with larger programming projects and emphasis on inheritence.
  Not acceptable for credit for CS majors.

Required Text
  Starting Out with Java: From Control Structures through Data Structures;
  ISBN 978-0-321-54586-2




   Credits
  • 3

   Class Type
  • Core Class - Required

   Pre-requisites
  • COP2250 or COP2210 with a minimum grade of C. Those who have less than a C in one of these classes will be dropped from the course during the first week of class.

   Co-requisites
  • None

   Goals
   Class Type
  • Core Class - Required

   Attendance
  • Attendance will be taken.
  • Not everything I teach in this class is in the book.

   Simple Rules
  • All programs MUST be done in the computers provided by FIU or in your own laptop and presented in class or in the lab when appropiate.

  • All programs MUST be named:
    last name + first Name initial + pgm1, 2, 3 or 4.
    ex: SmithJpgm1.java  SmithJpgm1.c  SmithJpgm1.html 

  • Your email MUST have your name on it.
    FIU, ElHombre, TheItGuy, etc are NOT accepted.

  • On your email's subject write:
    Your class name and email's purpose: OS1 pgm1, WEB2 pgm4

  • Email me your source programs ONLY, attached. DO NOT COPY AND PASTE.

  • Your programs must compile using the terminal mode.

  • Programs with warnings will NOT be accepted. I will not debug your programs.

  • Do not change the names of the files I provide.

  • Programs turned in after the due date are NOT accepted.

  • Any modification to your grades MUST be done no later than ONE week after grades are posted in Moodle.




    Tools Required - FREE
  • All Java programs in this class MUST be written in TERMINAL mode.
  • NO IDEs such as NetBeans or Eclipse are ALLOWED.
  • DO NOT use any wordprocessor to write your programs.
  • Windows: Use notepad editor
  • Linux/Unix: Use gedit, nano, pico, vi or vim editors.

  • The computers in the ECS labs contain all the necessary programs for his course, you can also use your own computers installing the following FREE software:

  • JDK Java Compiler

  • All Java programs MUST compile and MUST NOT have any warning.




Grading
4 Exams     15 points each   =   60 points
4 Programs 10 points each   =   40 points
Total   = 100 points
A   = 100-95
A-  =   94-90
B+  =   89-87
B   =   86-83
B-  =   82-80
C+  =   79-76
C   =   75-70
Fail C-  =   69-66
D+  =   65-60
D   =   59-56
D-  =   55-51
F   =   50-0
 


    Assignments



Important Dates
  Prog   1 : Wed 09-05-2012 Due
  Exam 1 : Wed 09-12-2012 (covering program 1)
  Prog   2 : Wed 10-03-2012 Due
  Exam 2 : Wed 10-10-2012 (covering program 2)
  Prog   3 : Wed 10-31-2012 Due     customerInterface
  Exam 3 : Wed 11-07-2012 (covering program 3)
  Prog   4 : Wed 11-28-2012 Due     theInterface
  FINAL EXAM
  Dec/03/2012, Monday 7:15PM - 9:15PM Engr & Comp Sci 134
  Covering all programs, all exams plus additional material covered.



Prerequisites Topics:
  - Java data types
  - Java fundamentals including String, ArrayList, classes
  - Problem solving using java

Expected Course Outcomes
  1. Master the design and implementation of classes using inheritance and polymorphism.
  2. Master the use and implementation of interfaces
  3. Be exposed to writing recursive methods
  4. Be exposed to the implementation of linked list structures
  5. Master analyzing problems and writing java program solutions to
      those problems using the above features.

PROJECTED SCHEDULE (COULD BE MODIFIED)
  Java preliminaries
    Java types, classes and objects
    Class variables, Final variables, etc.
    Input/Output (using Files, too)
    String class - Wrapper classes
    ArrayList class
    Static methods and objects

  Classes and Interfaces
    Class constructors
    Inheritance, first view
    Data abstraction
    Interfaces
    Overriding equals and toString methods
    Comparable and Comparator interfaces
    Public, Private, and Protected access specifiers
    Overloading method names

  Inheritance & Polymorphism
    Introduction to Inheritance - Reuse of code
    Overriding method names
    Polymorphism and its applications

  Recursion
    Definition
    Why does it work
    Infinite recursion
    Examples

  Introduction to Data Structures
    Linked List and its implementation
    Stack & Queue data structures
    Introduction to Java Collection Interface



DATA TYPES BYTES MIN VAL MAX VAL
char 1 -128 128
unsigned char 1 0 256
int or short 2 -32,768 32,768
unsigned short 2 0 65,535
long 4 -2,147,483,648 2,147,483,647
unsigned long 4 0 4,294,967,295
float 4 -+1.701411E-38 -+1.701411E38
double 4 -+1.0E-307 -+1.0E307

©2009-2099 Michael Robinson    ®