OO Data Structures SE - 221 Dr. Samir Tartir 2010/2011 Second Semester Logistics • • • • • Instructor: Dr. Samir Tartir E-mail: startir@philadelphia.edu.jo Office: IT 319 Lecture Time: STT 1:10-2:00 Lab: Sun. 2:10-3:00 – Lab instructor: TBA • Office Hours: TBA • http://www.philadelphia.edu.jo/academics/startir/ Course Overview • Software design and implementation – – – – – – Object oriented programming with Java Lists Stacks Queues Recursion Algorithm concepts • Refer to course page for syllabus • Prerequisites: SE 112 (OO Paradigm) • Textbook: “Object-Oriented Data Structures using Java” by Nell Dale, Daniel T. Joyce & Chip Weems. Grading • • • • • • First exam: 15% Second exam: 15% Quizzes: 3% Projects: 7% Lab: 10% Final exam: 50% Programming Projects • • • • 3-4 assignments J# To be done individually Tested for correctness with several test cases • Small credit for design and coding style Late and Cheating Policies • • • • All assignments are due by 11:59 PM 10% penalty for each late day Zero points if late by more than 5 days Proper documentation needed for healthrelated excuses • Cheating cases handed over to academic honesty department – Minimum penalty – F grade with note in transcript Use of Electronic Devices • Laptops – Only for note taking or training on class material, can be asked to turn in notes. • Phones – Only in emergencies • IPods, PDAs, PSPs – Should be turned off Basics of Java Programming • Compiling programs – javac FirstProgram.java • Executing programs – java FirstProgram • Set the “path” variable – See the “resources” page – Will be covered in next week A Simple Program Primitive Types Primitive Type Operators • Assignment operators =, +=, -=, *=, /= • Binary Arithmetic Operators +, -, *, /, % • Unary Operators ++, -• Type conversions a = (double) x/y; Operators (Contd.) • Relational & equality operators ==, !=, <, <=, >, >= • Logical Operators !, &&, || Branching and Looping • • • • • • if-else construct while construct for construct do-while construct break and continue switch statement Methods • A unit of code with a specific functionality • Header consists of a name, list of formal parameters and return type • Transfer of control-flow during function invocation and return • call-by-value parameter passing • Overloading functions – Multiple functions with same name but different parameters Questions ??