date_range Starts on November 10, 2015
event_note Ends on December 18, 2015
list 4 sequences
assignment Level : Introductory
chat_bubble_outline Language : English
card_giftcard 160 points
Users' reviews
-
starstarstarstarstar
0 reviews

Key Information

credit_card Free access
verified_user Fee-based Certificate
timer 20 hours in total

About the content

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.

more_horiz Read more
more_horiz Read less
report_problem

Prerequisite

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

dns

Syllabus

  • Multiple inheritance
  • Selective exports
  • Functional programming with agents
  • Concurrency
  • Design patterns
  • Loop invariants
  • Examples: undo-redo, topological sort
  • Introduction to software engineering
record_voice_over

Instructors

Bertrand Meyer
Professor
Politecnico di Milano and Innopolis University

Marco Piccioni

Carlo A. Furia

store

Content Designer

ETH Zurich
ETH Zurich
assistant

Platform

Edx

Harvard University, the Massachusetts Institute of Technology, and the University of California, Berkeley, are just some of the schools that you have at your fingertips with EdX. Through massive open online courses (MOOCs) from the world's best universities, you can develop your knowledge in literature, math, history, food and nutrition, and more. These online classes are taught by highly-regarded experts in the field. If you take a class on computer science through Harvard, you may be taught by David J. Malan, a senior lecturer on computer science at Harvard University for the School of Engineering and Applied Sciences. But there's not just one professor - you have access to the entire teaching staff, allowing you to receive feedback on assignments straight from the experts. Pursue a Verified Certificate to document your achievements and use your coursework for job and school applications, promotions, and more. EdX also works with top universities to conduct research, allowing them to learn more about learning. Using their findings, edX is able to provide students with the best and most effective courses, constantly enhancing the student experience.

You are the designer of this MOOC?
What is your opinion on this resource ?
Content
5/5
Platform
5/5
Animation
5/5