EdX

Computing: Art, Magic, Science - Part II (edX)

Offered by ETH Zurich, ETHx,
Computing: Art, Magic, Science - Part II (edX)

Learn functional programming, design patterns, loop invariants, and more in part 2 of this introductory programming course.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

Computing is a science. It’s an art, at least for those who practice it well, and it still retains much of its magic.
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, run and test them against predefined test sets. You will see your results right away in your browser!
In this Part 2, we will discuss:
A major programming technique, inheritance, including Multiple inheritance: combining complementary abstractions
Selective exports for solid modular design of large systems
Functional programming with agents: going one level of abstraction higher or more
Concurrency: how to build applications that, so to speak, walk and chew gum at the same time
Design patterns: how you can benefit from the best architectural practices of the industry, ironed out over many decades
What makes a loop do its job right, with the notion of loop invariant
Important practical examples: how to write an interactive application with undo-redo, and the example of topological sort
Software engineering-- the construction not just of individual programs but also of complex, ambitious software systems
Join us in this computing and programming course to better understand the power and beauty of modern computer programming.
What you'll learn:

  • Multiple inheritance
  • Selective exports
  • Functional programming with agents
  • Concurrency
  • Design patterns
  • Loop invariants
  • Examples: undo-redo, topological sort
  • Introduction to software engineering
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

HTML5 Coding Essentials and Best Practices (edX) EdX
World Wide Web Consortium - W3C,W3Cx

HTML5 Coding Essentials and Best Practices (edX)

Learn how to write Web pages and Web sites by mastering HTML5 coding techniques and best practices. HTML5 is the standard language of the Web, developed by W3C. For application developers and industry, HTML5 represents a set of features that people will be able to rely on for years to come. HTML5 is supported on a wide variety of devices, lowering the cost of creating rich applications to reach users everywhere.

Self Paced
Self-Paced
MyCS: Computer Science for Beginners (edX) EdX
Harvey Mudd College

MyCS: Computer Science for Beginners (edX)

In this fun and creative introduction to computer science for learners of all ages, you'll learn and apply concepts by programming in Scratch. How do computers work? What do computer scientists do? What does it take to make a computer or a computer program work? We answer these questions and more with MyCS: Computer Science for Beginners.

No sessions available
5-12 Weeks
Introduction to Computer Science and Programming Using Python (edX) EdX
MIT,MITx

Introduction to Computer Science and Programming Using Python (edX)

An introduction to computer science as a tool to solve real-world analytical problems using Python 3.5. This course is the first of a two-course sequence: Introduction to Computer Science and Programming Using Python, and Introduction to Computational Thinking and Data Science. Together, they are designed to help people with no prior exposure to computer science or programming learn to think computationally and write programs to tackle useful problems.

Jan 24th 2024
5-12 Weeks
Computing for Data Analysis (edX) EdX
Georgia Institute of Technology,GTx

Computing for Data Analysis (edX)

A hands-on introduction to basic programming principles and practice relevant to modern data analysis, data mining, and machine learning. The modern data analysis pipeline involves collection, preprocessing, storage, analysis, and interactive visualization of data. In the course, you’ll see how computing and mathematics come together.

Aug 19th 2024
13-24 Weeks
Introduction to C++ (edX) EdX
Microsoft

Introduction to C++ (edX)

Get a brief introduction to the C++ language from the experts at Microsoft. C++ is a general purpose programming language that supports various computer programming models such as object-oriented programming and generic programming. It was created by Bjarne Stroustrup and, “Its main purpose was to make writing good programs easier and more pleasant for the individual programmer.”*

No sessions available
4 Weeks
Jugando con Android - Aprende a programar tu primera App (edX) EdX
Universidad Autonoma de Madrid

Jugando con Android - Aprende a programar tu primera App (edX)

Aprende a programar en Android a través de la implementación paso a paso de un juego interactivo. Según datos publicados por Gartner a nivel mundial, casi el 60% de los teléfonos vendidos en 2013 fueron teléfonos inteligentes. Alrededor del 80% de estos teléfonos llevaban en su interior el sistema operativo Android. No cabe duda, por lo tanto, de que formarse en Android es una de las mejores inversiones que puede hacer un programador en la actualidad.

No sessions available
5-12 Weeks