Computing: Art, Magic, Science - Part II - ETH Zurich

edX

Course

Online

Free

Description

  • Type

    Course

  • Methodology

    Online

  • Start date

    Different dates available

Learn functional programming, design patterns, loop invariants, and more in part 2 of this introductory programming course.
With this course you earn while you learn, you gain recognized qualifications, job specific skills and knowledge and this helps you stand out in the job market.

Facilities

Location

Start date

Online

Start date

Different dates availableEnrolment now open

About this course

“Computing: Art, Magic, Science” (CAMS 1), or equivalent familiarity with topics covered there

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

This centre's achievements

2017

All courses are up to date

The average rating is higher than 3.7

More than 50 reviews in the last 12 months

This centre has featured on Emagister for 8 years

Subjects

  • Art
  • Computing
  • Magic
  • Science
  • Computer Science

Course programme

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

Additional information

Bertrand Meyer Bertrand Meyer is Professor of Software Engineering at ETH Zurich and Chief Architect at Eiffel Software. He is an authority in software engineering, programming languages and object-oriented programming. He is particularly known for his books, which have exerted a profound influence on the evolution of programming, and for his introduction of the concepts of Design by Contract. Marco Piccioni Marco Piccioni is a postdoctoral researcher at the Chair of Software Engineering, ETH Zurich. After having received a Ph.D. from ETH for his work on API usability, persistence, and object-oriented class schema evolution, his research interests are now focused on online education, and MOOCs in particular. Previously he worked for Sistemi Informativi S.p.A. (an IBM company) for ten years as a technical trainer and software.

Computing: Art, Magic, Science - Part II - ETH Zurich

Free