School of Engineering and Computer Science Department of Computer Science and Engineering Object Oriented Computing II CSE 231/CSE506 Sections 40092/41884 Fall 2012 Lecturer: Sebnem Onsay E-Mail: onsay@oakland.edu Office: 122 DHE (Dodge Hall of Engineering) Office Hours: By apt. only TA: Heba Al-Sadi Email: htalsadi@oakland.edu Class Time and place: Tuesdays: HHS 225 and Thursdays HHS 113 Course Description: A second course in programming, with emphasis on data abstraction and object oriented design. The basic data structures in computer science, including stacks, queues, lists, and trees, are covered in detail. Concepts of design, analysis and verification are discussed in the context of abstract data types. Examples of applications taken from numeric and symbolic domains are used. Prerequisite: CSE 230 or fluency in JAVA. (All students are expected to know to program using JAVA) Course Objectives: 1. Design Java programs using Abstract Data Types (ADT) 2. Use recursion in ADT implementations. 3. Implement ADT using array-based and pointer-based representation. 4. Implement/use linked lists, binary trees, stacks, queues, priority queues. 5. Describe concepts of and basic operations on hash tables and Btrees. 6. Describe/use of heaps. 7. Describe/use traversal, search and sorting procedures. Required Textbooks: Object Oriented Data Structures using JAVA (second Edition), Nell Dale, Daniel Joyce and Chip Weems, Jones and Bartlett Publishers. References: 1. Java 6 Illuminated Second Edition, Julie Anderson 2. Data Structures and Algorithms in Java, Robert Lafore. 3. Objects, Abstraction, Data Structures and Design Using JAVA version 5.0, E. Koffman. 4. Objects First with Java, A practical Introduction, David J. Barnes. 5. Data Structures and Other Objects using JAVA, Michael Main. 6. Programming and Problem Solving with Java, Nell Dale. 7. JAVA Software Solutions, Lewis and Loftus. Grade Assessment: The student will be assessed by the lab assignments, in lab practices or class room activities; Attendance is required for this class to receive any credit for the lab and in class activities. Lab Assignments 250 points Or 25% In Class Activities (ICATS) 150 points Or 15% Attendance 50 points Or 5% Quiz1 100 points Or 10% Quiz2 100 points Or 10% Quiz 3 100points Or 10% Quiz 4 100points Or 10% Final Exam 150 points Or 15% Behavioral Contract: (Following applies to labs and lecture hall) All digital devices such as: Cell phones, tablets, mp3 players… etc need to be placed out of sight and must be set to silent, no head phones are allowed. We will use the HHS labs for our programming exercises. Students are expected to use the pcs only for the CSE 231 class material, in other words, only: the lecture slides, Moodle and your preferred IDE should be running on pc nothing else! Surfing the net is not allowed during lecture hours and lab practices (Facebook, IM, twitter, checking your emails…etc are not allowed), anyone who is not following this rule will be asked to leave the laboratory/lecture. Maximum of 2 questions per student is allowed. If a student has more than 2 questions than the student should visit during my office hours to address these questions. Attendance Attendance is required. Attendance is taken at the beginning of class. If you come in late (10 minutes after lecture starts ) you will be logged in as Late Arrival, 2 Late Arrival = 1 Absence or of you choose to leave early ( more than 10 minutes before the lecture ends) , you will be logged as Left Early. 2 Left Early = 1 Absence. If you miss more than 2 classes you will not receive any credit for attendance. (The 2 classes include excused absences.) Tentative Schedule: Date September 6 Topic Course introduction, JAVA Review 11 Java Review 13 Lab ( HHS 113) 18 Getting Organize, Big O 20 Lab ( HHS 113) 25 ADTs 27 Lab( HHS 113), QUIZ 1 October 2 The Stacks 4 Lab( HHS 113) 9 Stacks, Recursion 11 Lab( HHS 113) 16 Simple Sorting 18 Lab( HHS 113), QUIZ 2 23 The Queue 25 Lab( HHS 113), 30 The List November 1 Lab( HHS 113) 6 Generic Classes, Binary Search Trees 8 Lab( HHS 113), QUIZ 3 13 Priority Queues, Heaps 15 Lab( HHS 113) 20 Sorting and Searching Algorithms, Advanced Sorting 22 Thanksgiving Break 27 Sorting and Searching Algorithms, Advanced Sorting 29 Lab( HHS 113), QUIZ 4 December 4 Hash Tables , External Storage and Other Trees December 6 External Storage and Other Trees December 11th Lab( HHS 113) FINAL EXAM 8:00 am until 11:00am Lab Assignments: All lab assignments and in class activities will be completed individually unless it is announced as Team work. Teams will be assigned later in the semester, all teams are defined by the instructor. In Class Activities: All in class activities (ICATS) will be due the same day. You can use your notes and books. The code that will be submitted can’t be copied and pasted from internet. In class activities can’t be submitted remotely. There are no make ups for ICATS. If a student misses an ICAT then the grade for that ICAT is 0. Late Policy: (PLEASE READ CAREFULLY) Lab assignments are due at the beginning of the following lab session unless otherwise announced. The grade of any late work will be subjected to the following penalty: Each late day will cause 25% grade deduction, if the assignment is late more than 4 days then the grade is 0.For work that is n (n<4) days late, the grade will be (100-n*25)% * original. If n >= 4, the grade will be 0. Moodle: A session specific website is located at https://moodle.oakland.edu/moodle. This website will include notes and schedules (including exam dates) for our course. Labs will be available for download from this site. Labs should be submitted using Moodle only. Please check this site often for updates. Mid Semester Evaluations: A mid semester evaluation will be conducted for all students registered in this course. For those students who are not achieving satisfactory progress (2.0) in this course at that point, an unsatisfactory grade (U) will be entered on SAIL. Academic Conduct: Expected conduct on assignments and exams Although students may discuss an assignment, each student should complete his or her assignment individually. Copying of another’s assignment is not permitted. It is assumed that ALL work throughout the term is your own. Discussions during an exam or quiz are not permitted. Cheating during an exam or quiz is not permitted. It is assumed that ALL WORK THROUGHOUT THE TERM IS YOUR OWN! Discussion of lab assignments/ICATS are permitted but copying of assignments is not! Handing in a lab assignment/ICATs or exam that was essentially copied from someone else does constitute as cheating. All of the tests are closed book unless it was told otherwise. Obtaining help from notes, another individual or from hand held computing devices during an exam is regarded as cheating. The Oakland University Academic Conduct Policy can be found at http://www4.oakland.edu/?id=1610&sid=75.Cheating on examinations, plagiarism, falsifying reports/records, and unauthorized collaboration, access, or modifying of computer programs are considered serious breaches of academic conduct. The Oakland University policy on academic conduct will be strictly followed with no exceptions. See catalog under Academic Policies and Procedures.