| Questions about this course?
|
Questions about applications?
|
Apply now!
|
Bioinformatics Education Online
|
| Course provider: |
The University of Manchester |
|---|---|
| Course contact: |
John Sargeant (johns@cs.man.ac.uk) |
| Summary: |
Aims
To ensure that students have a thorough grasp of the basics of object-oriented software development using Java 1.5. The emphasis is on fundamental principles and their application in practice. Language constructs and library classes are introduced as embodiments or examples of the principles and best practice is emphasised throughout. |
| Syllabus: |
1. Object-oriented basicsWhat is software development?What is Java? Mental models – how we deal with the world Software objects – mental models on a computer Creating objects and sending messages A complete simple class Importance of documentation - javadoc (Optional) Other ways of programming – and why OO is better! 2. Imperative programmingNuts and bolts (scalar values and expressions)Handling text (Strings and the magic +) Saying things and doing things (declarations and statements) Making choices (if and switch) Repeated computation (while and for) The simplest collection (arrays) How fast does it go? (A first look at complexity) Dividing up the job (procedural abstraction, parameter passing) 3. Classes, responsibilities and collaborationsAlternative implementations (encapsulation)Alternative interfaces (overloading) When are two objects the same (object references, equality vs. identity) Assigning responsibilities to classes (which methods go where, unit testing) Collaborating classes to solve problems (putting it all together, system testing) What if there’s no object to send a message to (static things) Larger-scale organisation (packages) 4. InheritanceMental models revisited – is-a-kind-of hierarchiesAbstract classes (representing common abstractions) Extending classes (concrete sub-concepts) The way objects understand messages (static checking, dynamic binding) What have we inherited? (inheritance semantics) When to use inheritance (is-a test, evils of implementation inheritance) Interfaces (in the Java-specific sense) 5. Exception handlingWhat if unexpected things happen at runtime?Basic constructs - try.. catch.. finally, exception propagation Throwing exceptions and declaring them (throw and throws) Standard exception types (Throwables, Errors, Runtime Exceptions, checked exceptions) Contracts (informal notion) 6. Collections and algorithmsOverview: collection interfaces and implementationsSample (1.5) classes (Lists and Maps) Basic algorithms (e.g. sorting) and their complexity Recursion and tree structures 7. Building simple GUIsPlatform independent graphics and GUIs: AWT and SwingBuilding basic GUIs What’s an applet – and what’s it good for? Handling events 8. Stream and file I/OStreams – System.out revealedText I/O File handling Options for storing data XML vs serialization vs. relational DB |
| Further details: |
|
| Technical requirements: |
|
| References: |
| Distance learning in computational biology | Courses in computational biology |
Updated 18 March 2011 by Heather Vincent