Skip to content

RobertoAlfredoChaparro/fp-course

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

F#: your first functional programming language

This is a work in progress, as my course on F# is moving through the first semester of 2023.

Quick start

The course is structured as a collection of Polyglot Jupyter Notebooks.

Quick tour

Just open this repo in MyBinder:

Binder

Give it a little time, and this will open the notebooks in My Binder.

Fork it

You can keep your own copy of this repo by forking it. Following the instructions above, you can make all the code editable in your own repo, using binder.

Using binder to run on the web

Once you fork the repo, go to MyBinder. You will land into this page:

Binder landing page

Copy the url of your forked repo into the GitHub field, and you can leave the Git ref and Path to a notebook empty. Click on launch and wait a while until My Binder works the magic.

One the binder is opened, click on the es directory in the panel at the left, and you will see all the available notebooks.

I do not want C#

Open the one of yourchoice, check that the Kernel on the right is properly selected.

It automatically detects .NET C#,

I do not want C#

but that is not the language you are looking for:

This is it

and you are good to go.

Installing polyglot notebooks to run in your own computer

If you want to experience the notebooks at your own computer, you need to install the polyglot extension for VS Code, and follow the instructions there.

I do not read spanish (No leo español)

No problem, until I manage to translate the content (which can take a while...), and if you can tolerate the automagic translation, you can use nbTranslate, a Jupyter notebook extension that creates multilanguage notebooks by translating the content using google translate. Follow the instructions in those sites to get it work.

About the course

These guides are oriented to those programmers interested in learning some concepts on functional programming, from a practical perspective. F# is an excelent first functional programming language: it is functional (of course), it has a clean and readable syntax (not a lot of fancy symbols and stuff), it is flexible (in case you need to grasp some other paradigm in the middle of your code) and it is concise enough to express your ideas with clarity.

Learning a new language and a new programming paradigm is a wonderful adventure. You do not need any special preparation, although I assume that the reader has some background in at least one popular language (let us say C, Python, Java or JavaScript, for example).

This guides are entirely written as Jupyter Notebooks. Yes, it is possible to run F# in a Jupyter notebook interactive environment, which is fantastic for learning.

This repository contains the Jupyter Notebooks edition of the course. El contenido más completo está en español en el directorio es.

As stated before, you can install the proper tools to translate the notebooks to your language of choice.

The course can also be accesed as a read only content in my blog, or as a course format in Programación avanzada, the last one with exercises.

Index

Most of the notebooks names are self-explanatory, but here it is the index for a clearer organization:

Resources

About

Public version of the fp-course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 100.0%