Study
All courses
CS-721 Computer Science · Postgraduate diploma

Programming II

From Java objects to software that real people can trust

6 units · 25 lessons · about 3 hours of reading

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.

  1. 0/5
    Unit 1

    Classes and Objects in Java

    Every Java program is a set of blueprints. Learn to read one, and then to build from it.
    1. Introduction to Java ProgrammingFree A language named after coffee, built so one compiled program could run on any machine with a JVM. 5 min
    2. 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
    3. 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
    4. Constructors and Constructor Overloading Every object has a birthday — see exactly what Java does in the moment you write new. 3 min
    5. 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
    6. Unit 1 quiz6 questions on this unit 8 min
  2. 0/4
    Unit 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.
    1. Encapsulation and Access Modifiers A locked box with a counter window: private data, and public methods that check everything going in. 5 min
    2. Inheritance and Class Hierarchies Doctors, nurses and drivers share so much — so why write the same code three times? 7 min
    3. 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
    4. 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
    5. Unit 2 quiz6 questions on this unit 8 min
  3. 0/3
    Unit 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.
    1. Exception Handling in Java Planning for the bad day: how Java programs catch bad input and failures instead of crashing. 10 min
    2. 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
    3. 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
    4. Unit 3 quiz7 questions on this unit 9 min
  4. 0/5
    Unit 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.
    1. Introduction to Software Engineering Writing code for yourself is programming; building a system thousands depend on for years is engineering. 3 min
    2. 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
    3. 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
    4. 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
    5. 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
    6. Unit 4 quiz6 questions on this unit 8 min
  5. 0/5
    Unit 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.
    1. 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
    2. 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
    3. 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
    4. Object-Oriented Analysis (OOA) Before any code exists, learn to look at a problem and spot the objects hiding inside it. 4 min
    5. 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
    6. Unit 5 quiz5 questions on this unit 6 min
  6. 0/3
    Unit 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.
    1. 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
    2. 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
    3. 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
    4. Unit 6 quiz5 questions on this unit 6 min

Practise and remember