Ir al contenido principalSkip to Xpert Chatbot

LouvainX: Paradigms of Computer Programming – Fundamentals

This course covers functional, object-oriented, and declarative dataflow programming in a unified framework, with practical code fragments and a simple semantics.
6 semanas
4–6 horas por semana
Al ritmo del instructor
Con un cronograma específico
Este curso está archivado

Sobre este curso

Omitir Sobre este curso

Louv1.1x and Louv1.2x together give an introduction to all major programming concepts, techniques, and paradigms in a unified framework. We cover the three main programming paradigms: functional, object-oriented, and declarative dataflow.

The two courses are targeted toward people with a basic knowledge of programming. It will be most useful to beginning programming students, but the unconventional approach should be insightful even to seasoned professionals.

Louv1.1x covers fundamental concepts. You’ll learn functional programming, its techniques and its data structures. You’ll use simple formal semantics for all concepts, and see those concepts illustrated with practical code that runs on the accompanying open-source platform, the Mozart Programming System.

Louv1.2x covers data abstraction, state, and concurrency. You’ll learn the four ways to do data abstraction and discuss the trade-offs between objects and abstract data types. You’ll be exposed to deterministic dataflow, the most useful paradigm for concurrent programming, and learn how it avoids race conditions.

To learn more about the practical organization of the two courses, watch the introductory video.

De un vistazo

  • Institution LouvainX
  • Subject Informática
  • Level Advanced
  • Prerequisites

    Basic knowledge of programming in at least one programming language. For the semantics, basic knowledge of mathematical concepts such as sets, lists, and functions.

  • Language English
  • Video Transcript English
  • Associated skillsFunctional Programming, Concurrent Computing, Computer Programming, Deterministic Methods, Object-Oriented Programming (OOP), Programming Concepts, Data Abstraction, Data Structures, Abstract Data Types

Lo que aprenderás

Omitir Lo que aprenderás
  • How to specify problems, break them down into their basic steps, and design algorithms and abstractions to solve them
  • How to choose the right programming paradigm and write a program in this paradigm to solve a problem
  • How to use formal semantics to reason about program correctness
  • How to write small concurrent programs in the deterministic dataflow paradigm

 

Testimonios de los estudiantes

Omitir Testimonios de los estudiantes
This is an excellent and unique introduction to programming. Peter Van Roy avoids focusing on the syntax of a particular language or a particular programming style. Instead he provides the concepts needed to deeply understand what is going on and the techniques to correctly program. One way he does this is by pointing out that different programming paradigms will be appropriate for different problems. (a learner on CourseTalk)

¿Te interesa este curso para tu negocio o equipo?

Capacita a tus empleados en los temas más solicitados con edX para Negocios.