120 likes | 310 Views
F27SB2 Software Development 2. Lecture 0: Overview. Course Staff. Lecturers: Verena Rieser (VR) : v.t.rieser@hw.ac.uk , office EM 1.36, office hours : Tues 3.15-4.15pm Greg Michealson ( GJM ) : office EM G.56. Teaching Assistants. Tutorials & Labs: Craig Mackie Ruby Valverde
E N D
F27SB2 Software Development 2 Lecture 0: Overview
Course Staff • Lecturers: • Verena Rieser (VR): v.t.rieser@hw.ac.uk, office EM 1.36, office hours: Tues 3.15-4.15pm • Greg Michealson (GJM): office EM G.56
Teaching Assistants Tutorials & Labs: • Craig Mackie • Ruby Valverde Labs only: • Matthias Keysermann • MuhannadHijaze • Osama Khalifa • Turkey Alsalkini
Organisation • co-taught by Greg Michaelson (GJM) & Verena Rieser (VR) • Lectures: • Tuesday 13.15-14.15 EM 336 • Wednesday 12.15-13.15 EM 336 • Tutorials • Wednesday 10.15-11.15 EM 250, or • Thursday 12.15-13.15 EM 250 • Laboratory: • Thursday 15.15-17.15 EM 250
Assessment • exam • 50% • multiple choice - 50% VR + 50% GJM • coursework • 50% = 25% VR + 25% GJM • GJM: 5 * laboratory exercises • may be multi-part • checked off in laboratory
GJM Contact • Greg Michaelson • works Tuesday, Wednesday & Thursday only • EM G56 • if light on then knock on door... • x3422 • G.Michaelson@hw.ac.uk • rapid response • www.macs.hw.ac.uk/~greg • course material on Vision and on WWW page
Overview 8. Syllabus • Inheritance and Generics: hierarchies, subclasses, polymorphism, static and dynamic type, overriding, dynamic method lookup. • Designing classes: coupling, cohesion, abstraction, modularisation, types • Abstract classes, abstract methods, interfaces • State machines & state diagrams • GUIs: components, layout, event handling • Error-handling: defensive programming, exceptions, assertions, JUnit tests
Overview 10. Learning Outcomes Subject Mastery • Understanding and application/ mastery of the object-oriented paradigm • Understanding of inheritance and generics. • Understand how to produce well designed, i.e. extendable and maintainable, code. • Ability to critically evaluate and improve the quality of code. • Ability to develop simple state diagrams • Ability to design and implement simple graphic user interfaces
Overview Personal abilities • Possession of fundamental skills in computer science, applicable throughout the remainder of the degree • Understand challenges in developing , designing and maintaining code. • Understanding of the importance of regular working habits (pdp) • Ability to compare and evaluate the applicability of simple data structures and code design choices to relevant problems (pdp)
Notation • Calibri • English descriptions • Courier New • Java code • Courier New italic • Java generalisation • replace with appropriate Java in specific circumstances
Notation • e.g. to describe a method signature public void setSize(intwidth,intheight) • in method call, replace: • width with any integer expression • height with any integer expression • e.g. setSize(200,220)