Transcript Slide 1
Object Oriented Programming
Computer Systems Engineering (D2) and Programming (P) 1
Course Responsible and Contact Information
• Jerker Bengtsson – Office • room F207 in the F-Building – E-mail • [email protected]
– Course webpage • www2.hh.se/staff/jebe/oop2007/index.html
2
Course Objectives
• To provide knowledge in object oriented programming techniques • To demonstrate how to improve software development with aspects on efficiency, maintainability, reusability.
• To improve programming skills through practical exercises and labs (using Java) 3
Course Planning
• Lectures – 14 lectures in total • Exercises – 7 instructor assisted (1x2hrs/week) – all related to the lecture material • Course examination – laboratorial exercises (mini programming project) – a written exam at the end 4
Course Litterature
• Book information –
”Object Oriented Software Development in Java: Principles, patterns and framworks”,
Xiaoping Jia,
ISBN 0-321-21073-5
• Additional reading material posted on the course webpage 5
Laboratorial Exercises
• A mandatory programming project • The objective is – to apply and practice OOP techniques – to practice working in ”small” teams – to practice solving a ”larger” programming problem • Project will be graded (F,3,4 or 5) – weights 1/3 of the final grade • To pass (grade 3), you must – Hand in your complete project according to spec.
– Do a small presentation (groupwise) 6
Progression
• Progression from earlier courses – A first course in programming • Primitive types, variables, program control structures, basic I/O, functions, classes etc.
– Algorithms & Data structures • recursion, efficient algorithms for searching & sorting etc, abstract data types and structures like trees, lists etc. – Low-level programming (Computer org.) • Register programming, memory management, implementing hardware drivers, C- /assembly programming 7
Software Development
Requirements analysis In the Software engineering course Design Implementation and unit testing Integration and system testing In this course we relate mostly to these phases Maintenance 8
Software Development
• To be able to handle complex systems, we need good software models • How?
– decompose programs into many small ”modules” – use efficient techniques to put together large programs • Why?
– Modular programs are easier to • understand, and design • implement, test and debug • develop by teams of engineers • maintain • reuse code 9
Course Introduction
• What is Object Oriented Programming?
10