• No products in the cart.

Part 1 of this course introduced the fundamental concepts, preparing you for the more advanced topics covered in this course! Throughout this course, you will learn programming concepts and techniques, and practice them immediately through advanced browser-based tools that let you write programs, compile, and run and test them against predefined test sets. You’ll see your results right away in your browser!


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 needs to be 200 words (1 Page). Once the answers are submitted, the tutor will check and assess the work.


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: ETH Zurich

Course Curriculum

Course Preview
Course Preview : Week 1 00:03:00
From programming to software engineering
From programming to software engineering 00:02:00
What is software engineering 00:10:00
Software quality 00:11:00
Requirements 00:09:00
Lifecycle and processes (A) 00:11:00
Lifecycle and processes (B) 00:14:00
Techniques and tools, conclusion 00:19:00
Advanced information hiding
Advanced information hiding 00:02:00
The privileges of a client 00:11:00
Selective exports 00:12:00
Multiple inheritance
Multiple inheritance 00:01:00
Multiple inheritance basics 00:10:00
The rationale for multiple inheritance 00:08:00
Name clashes and renaming 00:08:00
A few games we can play 00:10:00
Repeated inheritance 00:11:00
Object-Oriented design pills
Object-Oriented design pills 00:02:00
Finding classes 00:11:00
Coupling and cohesion 00:05:00
Inheritance vs. client relationship 00:09:00
Object-oriented design patterns
Design patterns I 00:05:00
Design patterns II 00:08:00
Design patterns III 00:08:00
Event-driven programming and agents
Event-driven programming and agents 00:02:00
The need for event-driven systems 00:12:00
The observer pattern 00:11:00
Using agents 00:15:00
Tuple and agent details 00:15:00
Applications: integration and iteration 00:12:00
An instructive example: Undo/Redo
Undo/Redo 00:03:00
The problem, and how not to solve it 00:11:00
The right abstraction 00:13:00
How the command pattern works 00:14:00
A more concise and general solution 00:09:00
An instructive example: Topological sort
Topological sort 00:03:00
The problem and why it is important 00:13:00
Background: binary relations 00:10:00
Mathematical model for topological sort 00:18:00
First algorithmic solution 00:15:00
Efficient solution 00:13:00
Software engineering lessons 00:10:00
Introduction to concurrency and SCOOP
Introduction to concurrency and SCOOP 00:03:00
What is concurrency? 00:09:00
Concurrency is hard 00:09:00
Why concurrency is hard 00:09:00
SCOOP model basics 00:07:00
Calls: synchronous and asynchronous 00:07:00
How to wait 00:08:00
Final examples 00:05:00
Loop invariants
Loop invariants 00:01:00
Loop invariants: definitions 00:10:00
The across expression in contracts 00:05:00
Loop invariants of linear search 00:06:00
Submit Your Assignment 00:00:00
Certification 00:00:00

Course Reviews


9 ratings
  • 5 stars0
  • 4 stars0
  • 3 stars0
  • 2 stars0
  • 1 stars0

No Reviews found for this course.

©2021 Edukite. All Rights Resereved
Edukite is A Part Of Ebrahim College, Charity Commission
Reg No 110841