110 likes | 245 Views
CM10134-CM50147 Programming I Basic Programming in Java. Marina De Vos. Course Contents. Introduction to object-oriented programming… …with a strong software engineering foundation… …aimed at producing and maintaining large, high-quality software systems. design patterns. inheritance.
E N D
CM10134-CM50147Programming IBasic Programming in Java Marina De Vos
Course Contents • Introduction to object-oriented programming… • …with a strong software engineering foundation… • …aimed at producing and maintaining large, high-quality software systems. Lecture 1a: Introduction
designpatterns inheritance aggregation Buzzwords reuse responsibility-driven design interface abstraction encapsulation iterators overriding coupling cohesion javadoc mutator methods collection classes polymorphic method calls Lecture 1a: Introduction
Goals • Sound knowledge of programming principles • Sound knowledge of object-orientation • Able to critically assess the quality of a (small) software system • Able to implement a small software system in Java Lecture 1a: Introduction
Course Text David J. Barnes & Michael KöllingObjects First with JavaA Practical Introduction using BlueJPearson Education, 2003ISBN 0-13-044929-6. Lecture 1a: Introduction
Additional Book Bruce Eckel Thinking in Java, 3rd Edition Prentice-Hall, 2002 ISBN 031002872 Free online copy: “http://www.mindview.net/Books/TIJ/” Lecture 1a: Introduction
Webpage The course webpage is atwww.cs.bath.ac.uk/~mdv/courses/prog1.htmlPlease check it regularly. It will be used for announcements and distribution of material for lectures, labs, coursework. Lecture 1a: Introduction
Mailing lists • programming1@cs.bath.ac.uk the general mailing list for this unit. • tutors-programming1@cs.bath.ac.uk to contact the tutors of this unit and to submit lab sheets in case of illness. Lecture 1a: Introduction
Course overview (1) • Objects and classes • Understanding class definitions • Object interaction • Grouping objects • More sophisticated behaviour - libraries • Well-behaved objects - testing, maintaining, debugging • Designing classes Lecture 1a: Introduction
Course overview (2) • Inheritance • Polymorphism • Extendable, flexible class structures • Handling errors • Designing applications Lecture 1a: Introduction
Passing this Unit • Exam • Answer three questions on theoretical and practical issues of programming. • Coursework • Write four medium-sized programs in an object oriented way using the design methods we discussed. In order to be allowed to sit the exam and to do the coursework 7 exercise sheets have to be satisfactory completed. Lecture 1a: Introduction