School of Engineering and Computer Science Department of

advertisement
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.
Download