EdX

Computing: Art, Magic, Science (edX)

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

Learn the basics of Information Technology and how to write quality programs in this introductory computer science course. Information Technology (IT) is everywhere. Every aspect of human activity depends on it. All IT processes, whether they drive mobile phones, the Internet, transportation systems, enterprise systems, publishing, social networks or any other application, rely on software.

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

In this new and improved version of the course, you will learn to write software with a progressive hint system for first time programmers. The core skill is programming; not just the ability to piece together a few “lines of code,” but writing _quality _programs, which will do their job right, and meet the evolving needs of their users. Anyone can write a program; this course teaches you to write _good _programs.

The course starts from the basics of computing and takes you through a tour of modern object-oriented programming, including classes, objects, control structures, inheritance, polymorphism, and genericity.
Throughout the course, you will have the opportunity to learn the principles of programming as well as the techniques for designing correct and reliable programs by using the Eiffel programming language and notation. You will be trying out example problems to provide your solution, and see it immediately compiled and tested from within your browser. To this end, we are using the Codeboard;web-based IDE, developed at the Chair of Software Engineering (ETH Zurich).
Beyond programming, you will also get a glimpse at theoretical computer science, the set of mathematical techniques that underlie computation and makes today’s IT-based world possible.
In this third edition of the course we specifically focus on helping students with little or no programming experience. To this end, we have improved the introductory material about the Eiffel language, and we have implemented a progressive hint system students can use to get guidance on how to solve the programming exercises.
"Really good course. Followed it with a couple of experienced colleagues all of them having a computer science background. They really liked the concepts and programming in Eiffel a lot. Many thanks to the team making this course available! Can not wait to start with the advanced course!" --Previous CAMSx Participant

What you'll learn

  • A basic understanding of the fields of IT and computer science
  • The core concepts of computing and programming
  • Techniques for writing correct and reliable object-oriented programs
  • The Eiffel object-oriented programming language and notation
  • A glimpse of theoretical computer science
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Computing in Python II: Control Structures (edX) EdX
Georgia Institute of Technology,GTx

Computing in Python II: Control Structures (edX)

Learn about control structures, one of the most powerful parts of programming. This course covers conditionals, loops, functions, and error handling, specifically in Python but with broader applicability to other languages as well. Building on your prior knowledge of variables and operators, this course gets into the meat of programming. Organized into five chapters, this course starts by covering the fundamentals of what control structures are and what they do, then moves on to four common control structures in Python.

Self Paced
Self-Paced
CSS Basics (edX) EdX
World Wide Web Consortium - W3C,W3Cx

CSS Basics (edX)

Learn, from Microsoft and W3C experts, how to take your Web pages from bland to bold with the power of CSS styling. Have you just begun your journey into Web development? This course will introduce you to the basics of Web design and teach you how to style your Web site for a professional look and feel.

Self Paced
Self-Paced
Introducción a la programación en C: Funciones y punteros (edX) EdX
Universidad Autonoma de Madrid

Introducción a la programación en C: Funciones y punteros (edX)

En este curso aprenderás cómo hacer programas modulares a través de funciones y punteros en el lenguaje de programación C, uno de los más utilizados. Este curso en línea te permitirá aprender más conceptos para ampliar tus habilidades de programación en el lenguaje C. Ahora resolveremos los problemas de forma modular, dividiendo el código en pequeñas partes definidas como funciones.

Self Paced
Self-Paced
Advanced Linear Algebra: Foundations to Frontiers (edX) EdX
University of Texas at Austin,UTAustinX

Advanced Linear Algebra: Foundations to Frontiers (edX)

Learn advanced linear algebra for computing. Linear algebra is one of the fundamental tools for computational and data scientists. In Advanced Linear Algebra: Foundations to Frontiers (ALAFF), you will build your knowledge, understanding, and skills in linear algebra, practical algorithms for matrix computations, and the analysis of the effects of floating-point arithmetic as performed by computers.

Self Paced
Self-Paced
IT Fundamentals for Business Professionals: Cybersecurity and social implications (edX) EdX
Universitat Politècnica de València,UPValenciaX

IT Fundamentals for Business Professionals: Cybersecurity and social implications (edX)

Working with Information Technology (IT) without the necessary background? Learn about cybersecurity, careers, and social implications of IT. This course is one of the 5 courses of an introductory business information systems series, designed to introduce you to the amazing world of Information Technology.

Self Paced
Self-Paced
Global Media, War, and Technology (edX) EdX
University of Queensland,UQx

Global Media, War, and Technology (edX)

Explore the intersection of information technology, violent conflict, and resistance. The experience of war has changed fundamentally – not only for those fighting and reporting, but also for those on the home front. High-tech nations wage wars from a distance using satellite-guided weaponry while non-state military actors, terrorist organizations, and citizen journalists have increasingly added new voices and visual perspectives to the conversation about conflict.

Self Paced
Self-Paced
How to Code: Complex Data (edX) EdX
The University of British Columbia,UBCx

How to Code: Complex Data (edX)

Learn how to design more complex programs, using new data structures, abstraction, and generative recursion. As your program requirements get more complex, you will find that simple additions to the design method make it easy to write well-structured and well-tested code that is easy to maintain. By learning how to capture common data and control structures using abstraction, your programs will get shorter and better tested.

Self Paced
Self-Paced
IT Fundamentals for Business Professionals: Software development (edX) EdX
Universitat Politècnica de València,UPValenciaX

IT Fundamentals for Business Professionals: Software development (edX)

Working with Information Technology (IT) without the necessary background? Learn the fundamentals of software development. This course is one of the 5 courses of an introductory business information systems series, designed to introduce you to the amazing world of Information Technology.

Self Paced
Self-Paced
Probability and Statistics in Data Science using Python (edX) EdX
University of California, San Diego,UC San DiegoX

Probability and Statistics in Data Science using Python (edX)

Using Python, learn statistical and probabilistic approaches to understand and gain insights from data. The job of a data scientist is to glean knowledge from complex and noisy datasets. Reasoning about uncertainty is inherent in the analysis of noisy data. Probability and Statistics provide the mathematical foundation for such reasoning.

Self Paced
Self-Paced
JavaScript Introduction (edX) EdX
World Wide Web Consortium - W3C,W3Cx

JavaScript Introduction (edX)

Learn JavaScript, a Web development programming language, to add interactivity to your Web pages, and become an expert Web developer. This computer science course is an initiation to JavaScript programming and has been designed to help Web developers have an understanding of the basic concepts of the language. This course was developed in partnership between W3C and University Côte d'Azur.

Self Paced
Self-Paced
Python for Data Science (edX) EdX
University of California, San Diego,UC San DiegoX

Python for Data Science (edX)

Learn to use powerful, open-source, Python tools, including Pandas, Git and Matplotlib, to manipulate, analyze, and visualize complex datasets. In the information age, data is all around us. Within this data are answers to compelling questions across many societal domains (politics, business, science, etc.). But if you had access to a large dataset, would you be able to find the answers you seek?

Self Paced
Self-Paced