All courses
Programming II
From Java objects to software that real people can trust
Start the course First: Introduction to Java Programming
The route
Lessons are in the order that makes each one easier than the last. Each unit ends with a short quiz.
- 0/5Unit 1
Classes and Objects in Java
Every Java program is a set of blueprints. Learn to read one, and then to build from it.- Introduction to Java ProgrammingFree A language named after coffee, built so one compiled program could run on any machine with a JVM. 5 min
- Classes and Objects: State, Behaviour and Identity One paper pattern, a hundred different kaftans — meet the difference between a class and the objects made from it. 4 min
- Defining and Using a Class in Java Build a working bank account in Java, one field, one method and one constructor at a time. 5 min
- Constructors and Constructor Overloading Every object has a birthday — see exactly what Java does in the moment you write new. 3 min
- Reference Variables, Parameter Passing and Static Members A variable never holds the object itself — and that one fact explains Java's most famous crash. 6 min
- Unit 1 quiz6 questions on this unit 8 min
- 0/4Unit 2 Full plan
The Four Pillars of Object-Oriented Programming
Hide it, inherit it, let it take many forms, keep it simple. Four ideas hold up every serious Java system.- Encapsulation and Access Modifiers A locked box with a counter window: private data, and public methods that check everything going in. 5 min
- Inheritance and Class Hierarchies Doctors, nurses and drivers share so much — so why write the same code three times? 7 min
- Polymorphism: Method Overloading and Overriding When NEPA takes light, one call to switch on the backup gets three different answers — that's polymorphism. 5 min
- Abstraction: Abstract Classes and Interfaces A good menu tells you what you can order and hides how the kitchen cooks it — learn to design classes the same way. 9 min
- Unit 2 quiz6 questions on this unit 8 min
- 0/3Unit 3 Full plan
Exception Handling, Collections and GUI Programming in Java
Users type nonsense, arrive in crowds and click everything. Here is how Java copes with all three.- Exception Handling in Java Planning for the bad day: how Java programs catch bad input and failures instead of crashing. 10 min
- The Java Collections Framework An array of 50 can never hold student number 51 — meet the lists, sets and maps that grow as you need them. 4 min
- GUI Programming: AWT, Swing and the Event-Delegation Model A console program runs and ends, but a GUI sits patiently waiting for your click — here's how that works. 14 min
- Unit 3 quiz7 questions on this unit 9 min
- 0/5Unit 4 Full plan
The Software Development Life Cycle and Project Management
Most failed software fails before anyone writes a line of code. Here is the map that keeps a project alive.- Introduction to Software Engineering Writing code for yourself is programming; building a system thousands depend on for years is engineering. 3 min
- The Software Development Life Cycle (SDLC) and Its Phases From first idea to final retirement, every piece of software walks the same path — here is the map. 6 min
- SDLC Models: Waterfall, V-Model, Incremental, Spiral, Prototyping and Agile Waterfall, V, incremental or agile — the same phases, danced to very different rhythms. 9 min
- Software Project Management (SPM) and Its Tools Squeeze the deadline and something else must give — learn how project managers juggle scope, time and cost. 7 min
- The Fishbone (Ishikawa) Diagram When a project goes wrong, the first excuse is rarely the truth — the fishbone diagram helps you dig out the real cause. 5 min
- Unit 4 quiz6 questions on this unit 8 min
- 0/5Unit 5 Full plan
Requirements Engineering and Object-Oriented Analysis
Listen before you build. Questionnaires, the SRS, object-oriented analysis and models help you understand a problem before you solve it.- Software Requirements: Types and Elicitation Techniques Like the tyre-swing cartoon, most project failures begin when nobody pins down what the customer really needs. 5 min
- Questionnaires: Closed-Ended and Open-Ended Formats How do you hear from three hundred busy people at once without calling a single meeting? 9 min
- The Software Requirements Specification (SRS) All that listening ends up in one document the client and developers both sign — here's how to write it well. 4 min
- Object-Oriented Analysis (OOA) Before any code exists, learn to look at a problem and spot the objects hiding inside it. 4 min
- System Modelling and Its Perspectives Context, use-case, class and activity diagrams — four ways to draw one system so everyone finally sees the same thing. 5 min
- Unit 5 quiz5 questions on this unit 6 min
- 0/3Unit 6 Full plan
Modular Design, Code Quality and Software Testing
Modules that mind their own business, code that a stranger can read, and tests that prove it all works.- Modularity, Coupling and Cohesion One bite at a time: split a program into modules that each do one job and barely depend on each other. 13 min
- Qualities of Good Code and Characteristics of Good Software Five qualities separate code that merely runs from code that people are glad to inherit. 5 min
- Software Testing: Techniques and Levels A test that finds a bug is a successful test — meet the mindset that catches problems before users do. 15 min
- Unit 6 quiz5 questions on this unit 6 min