COP3804 – Intermediate Java COP3804 – Intermediate Java is the second course in programming. It continues discussing programming, using the object-oriented paradigm. The course provides an in depth and extensive coverage in programming techniques to a wide variety of everyday problems. The material covered is more detailed than the previous course, and is supported with larger programming projects. Emphasis is on the concept of inheritance and polymorphism. Credits from this course cannot be applied to CS majors. The course is intended for students who are majoring in Information Technology. This is a three (3) credit course. It does not carry a lab component, neither does it come with a tutorial component Pre-requisite The requirement for this course is competency in COP2250 or its equivalence. If in doubt please see an advisor in the SCIS. Pre-requisite Topics Data types and operations on data Java fundamental classes – String, ArrayList, wrapper classes Problem solving techniques 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 The concepts covered in this course are: Classes and Objects Program Abstraction o Abstract class o Interface o Inheritance o Polymorphism Exception Handling Files and Streams Elementary Data Structure o Collections Framework o Stack o Queue o Linked List Graphical User Interface Event Handling Graphics 1 Assessment 6 Programming Assignments 40% Two tests 30% (15% each) Final Exam 30% Office Hours Day Time Room Mon/Wed/Fri 11:30– 13:30 pm ECS 212-C Note: You MUST pass the final exam (70% or higher) in order to pass the course Grading Scheme 95 - 100 A 90 - 94 A- 87 - 89 B+ 83 - 86 B 80 - 82 B- 76 - 79 C+ 70 - 75 C 66 - 69 C- 60 - 65 D+ 56 - 59 D 0 - 55 F Class Policy It is your responsibility to plan ahead so that there is no interruption in your study. Classes cannot be scheduled around your work schedule. Programming assignments must be submitted on time; i.e. by the due date specified. Class attendance is not graded. Class participation is not graded. 2 All tests and the final exam are written in class room. Plagiarism will not be tolerated. Resources Prescribed textbook: Tony Gaddis & Godfrey Muganda Starting Out with Java: From Control Structures through Data Structures ISBN: 978-0321421029 Recommended textbook: Joslyn A. Smith Computer Science Applications: Object Oriented Programming (1E) ISBN:978-1-60927-745-1 To purchase the textbook, please follow the instructions below: Step 1: Log on to https://students.universityreaders.com/store/ Step 2: Create an account or log in if you have an existing account to purchase. Step 3: Easy-to-follow instructions will guide you through the rest of the ordering process. Payment can be made by all major credit cards or with an electronic check. Step 4: After purchasing, you can access your partial e-book (free 20% PDF) by logging into your account and clicking "My Digital Materials" to get started on your readings right away. Dates to Observe Dates to Observe Important Dates: 1/20/2014 MLK Holiday 3/18/2014 Drop/Withdraw Date 3/10-3/15/2014 Spring Break 4/19/2014 Classes End A Reminder from The Provost's Office ……….. Florida International University is a community dedicated to generating and imparting knowledge through excellent teaching and research, the rigorous and respectful exchange of ideas, and community service. All students should respect the right of others to have an equitable opportunity to learn and honestly demonstrate the quality of their learning. Therefore, all students are expected to adhere to a standard of academic conduct, which demonstrates respect for themselves, their fellow students, and the educational mission of the University. All students are deemed by the University to understand that if they are found responsible for academic misconduct, they will be subject to the Academic Misconduct procedures and sanctions, as outlined in the Student Handbook. Contact Info Instructor Walid Akache Office ECS 212-C Phone (305) 348 - 3731 3 E-mail akachew@cs.fiu.edu Website http://www.cis.fiu.edu/~akachew The following is a tentative class schedule. Week 1 - Designing Classes (an Overview) Classes & Objects Cohesion & Coupling - Their importance in Object Oriented Programming Accessor & Mutator methods - Their importance Scope of Variables The concept of packages Week 2 - Inheritance and Polymorphism Chapter 9 Chapter 11 Importance of Inheritance Inheritance Hierarchies Access Control Abstract Methods Overriding Methods Overshadowing Methods Week 3 - Implementing Interfaces Chapter 11 Defining and Implementing Interfaces Polymorphism and Dynamic Method Lookup Week 4 - Exception Handling Chapter 12 The Idea Behind Exception Types of Exceptions Handling Exceptions Defining Your Own Exceptions Week 5 - Test I Week 6 - Files & Streams Chapter 10 Understanding The Concept of File o Defining a File o Testing and Accessing File Objects Understanding The Concept of Streams o Byte Stream Objects o Character Stream Objects o Reading and Writing Text Files o Random Access Files Week 7 – Recursion Chapter 15 4 Recursive functions Recursive components Applications Week 8 – Collections Chapter 18 Collections Framework Sets Lists Week 9 - Data Structures Chapter 20 & 21 Stacks Queues Linked List Week 10 - Test II Week 11 - Introduction to Graphical User Interface Chapter 7 & 13 Creating A Window Placing Components in a Window o Buttons o Combo Box o Check Boxes o Radio Buttons Adding Menus to A Window Week 12 - Layout Management Chapter 7 & 13 Border layout Flow layout Grid Layout Week 13 - Event Handling Chapter 7 Events, Event Listeners & Event Sources The Event Handling Process Processing Events o Mouse Inputs o Keyboard inputs o Text inputs o Window Events Week 14 - Final Exam 5