You must be logged in to take this course → LOGIN | REGISTER NOW
You’ll learn how to build larger and more complex software systems using the Java programming language. The course begins with the topic of data abstraction – from specification to implementation. Particular attention is given to how to write robust tests using JUnit. Then the course expands on these ideas to explore how type hierarchies and polymorphism can be used to decrease redundancy in your code.
Assessment
This course does not involve any written exams. Students need to answer 5 assignment questions to complete the course, the answers will be in the form of written work in pdf or word. Students can write the answers in their own time. Each answer need to be 200 words (1 Page). Once the answers are submitted, the tutor will check and assess the work.
Certification
Edukite courses are free to study. To successfully complete a course you must submit all the assignment of the course as part of assessment. Upon successful completion of a course, you can choose to make your achievement formal by obtaining your Certificate at a cost of £49.
Having an Official Edukite Certification is a great way to celebrate and share your success. You can:
- Add the certificate to your CV or resume and brighten up your career
- Show it to prove your success
Course Credit: The University of British Columbia
Course Curriculum
Welcome | |||
Welcome and Introduction | 00:07:00 | ||
Introducing: The Career Development Series 859874 | 00:03:00 | ||
1: Introduction to Software Construction | |||
Welcome to Software Construction | 00:03:00 | ||
First Look | 00:08:00 | ||
Package Relationships | 00:08:00 | ||
Class Relationships | 00:03:00 | ||
2a: Control and Data Flow: Structures | |||
Introduction | 00:04:00 | ||
Call Graphs | 00:08:00 | ||
Classes and Objects | 00:02:00 | ||
Variables | 00:09:00 | ||
Anatomy of a Class | 00:05:00 | ||
Debugging, Part 1 | 00:11:00 | ||
2b: Control and Data Flow: Models | |||
Data Flow | 00:04:00 | ||
Passing Parameters | 00:09:00 | ||
Returning Values | 00:07:00 | ||
Constructors | 00:06:00 | ||
Debugging, Part 2 | 00:12:00 | ||
Execution of a Method | 00:05:00 | ||
If and If Else | 00:06:00 | ||
Foreach Loops | 00:05:00 | ||
For Loops | 00:05:00 | ||
So Much Going On | 00:04:00 | ||
Debugging, Part 3 | 00:10:00 | ||
3a: Data Abstraction: Specifying and Using | |||
Introduction | 00:06:00 | ||
What is Abstraction? | 00:04:00 | ||
Visibility | 00:08:00 | ||
Specifying a Data Abstraction | 00:05:00 | ||
Requires | 00:04:00 | ||
Modifies | 00:08:00 | ||
Effects | 00:02:00 | ||
Specifying the insert() method | 00:06:00 | ||
Specification for IntegerSet | 00:01:00 | ||
Using a Data Abstraction | 00:05:00 | ||
3b: Data Abstraction: Testing and Implementing | |||
Testing | 00:04:00 | ||
Devising Test Cases | 00:11:00 | ||
JUnit, part 1 (@Test and Fields) | 00:09:00 | ||
JUnit, part 2 (@Before, Asserts and Fails) | 00:04:00 | ||
Testability | 00:05:00 | ||
Writing Tests | 00:14:00 | ||
Debugging, Part 4 | 00:12:00 | ||
Implementing a Data Abstraction | 00:02:00 | ||
Implementing IntegerSet | 00:04:00 | ||
4: Type Hierarchies, Polymorphism and Dispatching | |||
Introduction | 00:04:00 | ||
Types in Java | 00:04:00 | ||
Specifying and Implementing Interfaces | 00:08:00 | ||
Apparent and Actual Types | 00:03:00 | ||
Types and Parameters | 00:04:00 | ||
Software Construction: Data Abstraction (UBC) | 00:14:00 | ||
IntegerSetInterface (Extracting an Interface) | 00:10:00 | ||
Inheritance | 00:04:00 | ||
Extending Classes | 00:06:00 | ||
Method Overriding and Overloading | 00:06:00 | ||
Super Calls | 00:04:00 | ||
Abstract Classes | 00:06:00 | ||
Abstract IntegerSetTest | 00:07:00 | ||
Assessment | |||
Submit Your Assignment | 00:00:00 | ||
Certification | 00:00:00 |
Course Reviews
No Reviews found for this course.