Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

create Teaching Resources page #119

Closed
agarwal opened this Issue · 38 comments
@agarwal
Owner

It will be useful to provide a list of courses taught in OCaml, IDEs that are particularly useful for teaching purposes, lecture notes that are publicly available, etc.

One item is the lecture notes by Lukasz Stafiniak.

@agarwal
Owner

From: Yaron Minsky yminsky@janestreet.com
Date: Fri, Mar 15, 2013 at 1:56 PM
Subject: Re: [Caml-list] Use of OCaml in universities and engineering schools
To: Nicolas Barnier barnier@recherche.enac.fr
Cc: caml-list@inria.fr

  • Harvard's CS51 is the 2nd-semester course which all CS majors take, and it is taught in OCaml.
  • Cornell's algorithms class is mandatory for all majors, and is taught in OCaml.
  • Penn teaches OCaml in at least some of it's intro sequence.
  • Not quite OCaml, but CMU teaches SML to all undergrads as part of its intro sequence.
  • Brown does at least some OCaml in their CS curriculum, though I'm not sure of the details. I just know that a goodly fraction of the applicants from Brown know OCaml.
  • Princeton has a new FP course that teaches OCaml, that I know people there are pretty excited about.

There are probably more I'm missing, but that's a start

y

@agarwal
Owner

From: Roberto Di Cosmo roberto@dicosmo.org
Date: Fri, Mar 15, 2013 at 2:04 PM
Subject: Re: [Caml-list] Use of OCaml in universities and engineering schools
To: Yaron Minsky yminsky@janestreet.com
Cc: Nicolas Barnier barnier@recherche.enac.fr, caml-list@inria.fr

Hi Nicolas,
nice idea to ask about this... let me add that in the Paris
area there are many many places where OCaml is taught (too
many to list here, but just out of muy head, University Paris Diderot,
level L3 and L1, University Pierre et Marie Curie, Orsay, ESIIE
and Epitech all use OCaml at different levels)

We would really need a central place to keep this info well
structured. Even a simple wiki page would do.

@agarwal
Owner

From: Bertrand Bonnefoy-Claudet bertrandbc@gmail.com
Date: Fri, Mar 15, 2013 at 2:24 PM
Subject: Re: [Caml-list] Use of OCaml in universities and engineering schools
To: Roberto Di Cosmo roberto@dicosmo.org
Cc: Yaron Minsky yminsky@janestreet.com, Nicolas Barnier barnier@recherche.enac.fr, caml-list@inria.fr

Supélec has an introductory course to programming languages for first
year students (mandatory but not graded) and the section on functional
programming is taught with OCaml at least on the Metz campus
(http://www.metz.supelec.fr/metz/personnel/frezza/MLP/). I think that
Lisp is used instead on other campuses.

That's not much but maybe worth mentioning.

@Chris00
Collaborator

The students at the University of Mons use OCaml in a Numerical Analysis course and in various projects.

@Chris00
Collaborator

From: Marek Kubica marek@xivilization.net
To: Nicolas Barnier barnier@recherche.enac.fr
CC: caml-list@inria.fr
Date: Fri, 15 Mar 2013 21:53:52 +0100

On Fri, 15 Mar 2013 17:49:18 +0100
Nicolas Barnier barnier@recherche.enac.fr wrote:

We were thus wondering which engineering schools and universities are
actually currently using OCaml, and for which cursus.

The Technische Universität München is/was using it for a course called
"Introduction to computer science 2". It is not OCaml specific but
rather focuses on functional programming so a year ago it SML and this
year it was Haskell. Depends on the professor.

@agarwal
Owner

From: Philippe Wang mail@philippewang.info
Date: Fri, Mar 15, 2013 at 9:02 PM
Subject: Re: [Caml-list] Use of OCaml in universities and engineering schools
To: Ashish Agarwal agarwal1975@gmail.com
Cc: Roberto Di Cosmo roberto@dicosmo.org, Yaron Minsky yminsky@janestreet.com, Nicolas Barnier barnier@recherche.enac.fr, OCaml Mailing List caml-list@inria.fr

Yes, there should be such a page somewhere, ocaml.org seems to be the
right place for that.

I started getting more information about the courses:
http://philippewang.info/CL/?id=where_ocaml_is_used_for_teaching_purposes
(it's a draft)

@bbc2

From: Bertrand Bonnefoy-Claudet bertrandbc@gmail.com
Date: Sat, 16 Mar 2013 00:20:45 -0500
Subject: Re: [Caml-list] Use of OCaml in universities and engineering schools
To: Lukasz Stafiniak lukstafi@gmail.com
Cc: OCaml Mailing List caml-list@inria.fr, Nicolas Barnier barnier@recherche.enac.fr

I forgot to mention the University of Illinois at Urbana-Champaign.
There's an undergrad course on programming languages and compilers:

http://courses.engr.illinois.edu/cs421/

@Chris00
Collaborator

From: Dagnat Fabien fabien.dagnat@telecom-bretagne.eu
To: caml-list@inria.fr
Date: Sat, 16 Mar 2013 09:37:39 +0100

Hello,
In Télécom Bretagne, there is/was two courses using Caml :

Notice that the evolution of the preparatory school toward Python instead of Caml is probably going to cause serious change in lot of French engineering school. Here (at TB) the consequence is a switch to Python as basic language while keeping Java for basic object oriented programming.

@Chris00
Collaborator

From: Jason Yeo jasonyeo88@gmail.com
To: Nicolas Barnier barnier@recherche.enac.fr
CC: caml-list@inria.fr
Date: Sat, 16 Mar 2013 13:26:36 +0800

I'm an undergrad at the National University of Singapore. We are taught to use
ocaml for a Programming Language Implementation class.

Previously, the class was taught using java. Ocaml is definitely a better
choice for the class because of ADTs and the expressiveness of the language.

@Chris00
Collaborator

From: Valentin ROBERT vrobert@cs.ucsd.edu
CC: caml-list@inria.fr
Date: Fri, 15 Mar 2013 22:34:09 -0700

My 2 cents: OCaml is used at the University of California, San Diego, as part
of the undergraduate Programming Languages class (along with Python and
Prolog).

cf. http://cseweb.ucsd.edu/classes/wi13/cse130-a/

  • Valentin
@Chris00
Collaborator

From: Lukasz Stafiniak lukstafi@gmail.com
To: OCaml Mailing List caml-list@inria.fr
CC: Nicolas Barnier barnier@recherche.enac.fr
Date: Sat, 16 Mar 2013 02:15:40 +0100

OCaml is taught in an optional course called "Functional Programming" at Wroc
ław University of Technology and at University of Wrocław. For contrast, at
an obligatory course called "Programming" for Computer Science at University
of Wrocław, there are elements of Haskell and Prolog (rather than OCaml).

http://international.uni.wroc.pl/en/course/functional-programming
http://international.uni.wroc.pl/en/course/programming

@avsm
Owner
@samoht
Owner

All the French ENS have/had a mandatory functional programming course at L3 level for CS major, which heavily involves OCaml. Also, all the Epitech schools in France (not only the one in Paris) have an optional L2 functional programming course where they teach OCaml.

@bobzhang

in Penn, CIS341 compiler course uses ocaml http://www.seas.upenn.edu/~cis341/current/

@Chris00
Collaborator

From: Mark Raymond markr@raymonds.org.uk
To: caml-list@inria.fr
Date: Sun, 17 Mar 2013 16:22:20 +0000

The Compilers course I did at Oxford University two years ago used OCaml.

@Chris00
Collaborator

From: Sebastien Ferre Sebastien.Ferre@irisa.fr
To: caml-list@inria.fr
Date: Mon, 18 Mar 2013 11:16:24 +0100

At ISTIC/Université de Rennes 1, OCaml is used in different courses at different levels:

  • functional programming in 3rd year (52h)
  • introduction to programming for students having a master in another domain (e.g., biology, chemistry) and preparing a master CCI (Complementary Competency in CS)
  • compilation in 1st year of the CS master, in combination with LLVM (16h of practicals)
@Chris00
Collaborator

From: Christophe Garion christophe.garion@isae.fr
To: "caml-list@inria.fr" caml-list@inria.fr
Date: Mon, 18 Mar 2013 10:52:03 +0100

At ISAE/SUPAERO (http://supaero.isae.fr/en/), OCaML is used in a 20 hours lecture on functional programming and introduction to type theory in the 1st year major on Artificial Intelligence and Foundations of CS.

@Chris00
Collaborator

From: Marc Pantel Marc.Pantel@enseeiht.fr
To: Kristopher Micinski micinski@cs.umd.edu
Date: Mon, 18 Mar 2013 09:20:20 +0100

At ENSEEIHT (Ecole Nationale Supérieure d'Electronique, Electrotechnique, Informatique, Hydraulique et Télécommunications, http://www.enseeiht.fr) in Toulouse, France, pure functional subset of OCaML is taught in 1st year of computer science and applied mathematics (L3 level, 5 ETCS, 52 hours) in Algorithms and Functional Programming courses, then it is used in the Compiler (M1 level, 5 ETCS, 52 hours) and the Static Analysis based Verification (M2 level, 3 ETCS, 30 hours) courses.

@Chris00
Collaborator

From: Milan Stanojević milanst@gmail.com
To: Valentin ROBERT vrobert@cs.ucsd.edu
CC: caml-list@inria.fr

On Sat, Mar 16, 2013 at 1:34 AM, Valentin ROBERT vrobert@cs.ucsd.edu wrote:

My 2 cents: OCaml is used at the University of California, San Diego, as
part of the undergraduate Programming Languages class (along with Python and
Prolog).

cf. http://cseweb.ucsd.edu/classes/wi13/cse130-a/

  • Valentin

It's similar at University of California, Los Angeles. Depending on
the professor, either SML or OCaml (plus couple of other languages) is
used for cs131, which is a required programming languages course for
computer science majors.

@Chris00
Collaborator

From: Alan Schmitt alan.schmitt@polytechnique.org
To: Nicolas Barnier barnier@recherche.enac.fr
Date: Sun, 17 Mar 2013 16:58:12 +0100

There is an Ocaml course at INSA (an engineering school) in Rennes (3rd
year). There is also an university of Rennes 1 course (3rd year as well,
if I remember correctly).

@Chris00
Collaborator

From: Kristopher Micinski micinski@cs.umd.edu
To: Nicolas Barnier barnier@recherche.enac.fr
Date: Sun, 17 Mar 2013 17:07:08 -0400

Maryland teaches OCaml in our classes (PL and compilers):

http://www.cs.umd.edu/class/spring2013/cmsc330/
http://www.cs.umd.edu/class/fall2012/cmsc430/

@Chris00
Collaborator

From: Simão Sousa desousa@di.ubi.pt
To: caml-list@inria.fr
Date: Tue, 19 Mar 2013 07:35:41 +0000

At the University of Beira Interior, Portugal, we are using OCaml as the underlying programming language (as a tool, not as the subject) in 3 different courses:

  • Theory of Computation and Formal Languages
  • Compilers Construction
  • Program Verification (includes computational logic, decision procedure, deductive methods and program logic)

As a subject of study, Ocaml is used in the following advanced courses:

  • Theory of programming
  • Certified Programming
@thethirdman

EPITA uses OCaml for introducing students to computer programming and computer science in the first two years (during the integrated preparatory cycle).

@Chris00
Collaborator

From: Luca Saiu luca.saiu@inria.fr
Date: Fri, 22 Mar 2013 15:52:44 +0100

The Computer Science Lab [1] of Université Paris 13 offers an "Advanced
Functional Programming" [2] course at the Master 2 level (fifth year),
specialty "Programming and safe programs" [3].

There is also another introductory course about functional programming
at the "Licence 3" level (third year). Both use OCaml.

[1] http://lipn.univ-paris13.fr
[2] http://ageinghacker.net/lipn-stuff/teaching/PFA-2011/
[3] http://lipn.univ-paris13.fr/~fouquere/M2PLS/

Luca Saiu
INRIA Saclay
Personal home page: http://ageinghacker.net

@Chris00
Collaborator

From: Nicolas Braud-Santoni nicolas@braud-santoni.eu
To: Sebastien Ferre Sebastien.Ferre@irisa.fr, caml-list@inria.fr
Date: Tue, 26 Mar 2013 11:21:55 +0100

It is also used (at ISTIC/Rennes 1) at the M2 level, for the Static
Analysis course (Program Analysis for Software Security).

For completeness' sake, I'll add that ENS de Cachan (Rennes campus) uses
OCaml for all programming projects in first year, except for the prog.
tutorial (a different language each year) and the C/C++ and
object-oriented courses.

@lukstafi

Just a "thumbs up" comment. I only managed to squeeze eight lectures into one semester (from the lecture notes linked at the top of the thread). I'm preparing the remaining slides for completeness, perhaps to turn them into a book, perhaps to teach a follow-up course someday (but not likely at present).

@lefessan

Any news ? There was such a web page on www.ocaml-lang.org, it is really missing here, as I am trying to convince some university teachers to teach OCaml to their students.

Ideally, there would be links to courses, but also cached copies of the slides, and even better, source copies so that they could be modified...

@agarwal
Owner

@lefessan Unfortunately, this isn't the best time to add a page like this. See summary of current plan by @amirmc. If it is urgent for you, I'm happy to accept a pull request, and I'll manually do the conversion necessary to support the new Markdown based backend.

@Fourchaux

See lefessan comment above.
Any new news ?

@agarwal
Owner

It will be easy to accept a Pull Request. It requires creating the page site/learn/teaching.md within the repo, and then incorporating the long list of comments above in an organized manner.

@amirmc
Owner

@lefessan If the page already existed on www.ocaml-lang.org, where did it go? Perhaps we can import that content too?

@Chris00 Chris00 added the contribute! label
@amirmc amirmc added the content label
@agarwal
Owner

@yansh @amirmc Thanks for the new teaching page. It's quite nice, and I like the map! Can this issue now be closed?

@Chris00
Collaborator
@pw374
Collaborator

There are courses mentioned on this thread that don't seem to appear on https://github.com/ocaml/ocaml.org/blob/master/site/learn/teaching-ocaml.md
But then I don't know if the list is supposed to include courses that no longer exist, and I don't know if all the forgotten courses are those that don't exist anymore.

@yansh
@amirmc
Owner
@dbuenzli
@amirmc
Owner

Since the teaching page has been up a while, with pull requests going directly to it, I'm closing this issue.

@amirmc amirmc closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.