Racket and ELM Programming for Beginners

Learn Step by Step from Scratch

3.85 (74 reviews)
Udemy
platform
English
language
Programming Languages
category
instructor
Racket and ELM Programming for Beginners
2,023
students
1.5 hours
content
Jan 2017
last update
FREE
regular price

What you will learn

You will have basic understanding of the Racket language.

Gain Functional Programming knowledge and skills

Would be able to start developing their own application in Elm.

Description

Racket is a programming language that started life as a Scheme implementation, but then grew into new areas. Racket is a mature LGPL project that’s actively developed and maintained. Racket’s crown jewel is its macro system, which lets you freely extend the language. Racket consists of extensive standard library that gets your projects off the ground quickly. Racket runs on Linux, macOS, and Windows. Develop on one; deploy to all three.

Racket (formerly PLT Scheme) is a general purpose, multi-paradigm programming language in the Lisp-Scheme family. One of its design goals is to serve as a platform for language creation, design, and implementation.The language is used in a variety of contexts such as scripting, general-purpose programming, computer science education, and research.

Racket's core language includes macros, modules, lexical closures, tail calls, delimited continuations, parameters (fluid variables), software contracts, green and OS threads, and more. The language also comes with primitives, such as eventspaces and custodians, which control resource management and enables the language to act like an operating system for loading and managing other programs. Further extensions to the language are created with the powerful macro system, which together with the module system and custom parsers can control all aspects of a language. Unlike programming languages that lack macro systems, most language constructs in Racket are written on top of the base language using macros. These include a mixin class system, a component (or module) system as expressive as ML's, and pattern matching.

The feature that distinguishes Racket from other languages in the Lisp family is its integrated language extensibility. Racket's extensibility features are built into the module system to allow context-sensitive and module-level control over syntax

In this course we use DrRacket IDE , which is a graphical environment for developing programs using the Racket programming languages. DrRacket (formerly DrScheme) is widely used among introductory Computer Science courses that teach Scheme or Racket and is lauded for its simplicity and appeal to beginner programmers. The IDE was originally built for use with the TeachScheme! project (now ProgramByDesign), an outreach effort by Northeastern University and a number of affiliated universities for attracting high school students to computer science courses at the college level. It is the fastest way to get a sense of what the language and system feels like, even if you eventually use Racket with Emacs, vi, or some other editor.

Curious why Functional Programming is on the Rise? Do you wish there was a better option than JavaScript? Would you like to learn Elm or Functional Programming in general, but short on time?

If you answered yes, then this course is for you. 

Elm is very approachable, and is the best language to learn functional programming.

Elm is a functional programming language that compiles to JavaScript and runs in the browser. It is designed to be fun and friendly to use. Indeed, Elm upends the notion that functional programming is only accessible to mad scientists and academics. With its clean and readable syntax, world-class tooling, and friendly compiler, Elm is truly a delightful language.

The Elm Architecture helps you create complex, modular web apps with code that stays easy to maintain as you add features. Toss in great performance, no runtime exceptions, and JavaScript interop, and you've got a super-charged way to produce reliable, scalable, and maintainable web apps!

But what we love most about Elm is that you can actually build practical stuff with it quickly, which is exactly what we do in this course.

Elm compiles to JavaScript, so trying out Elm is easy. Convert a small part of your app to Elm and embed it in JS. No full rewrites, no huge time investment.

Unlike hand-written JavaScript, Elm code does not produce runtime exceptions in practice. Instead, Elm uses type inference to detect problems during compilation and give friendly hints. This way problems never make it to your users. There are several examples where companies are running applications on thousands of lines of Elm, and even after more than a year in production, it still has not produced a single runtime exception anywhere.

Elm has its own virtual DOM implementation, designed for simplicity and speed. All values are immutable in Elm, and the benchmarks show that this helps us generate particularly fast JavaScript code.

As Elm compiles to JavaScript, you can really use it to build very complicated single page applications. Eventually it’s possible to interface with other JavaScript code when necessary.  With Elm, cost savings are enormous. Elm component architecture allows problems to be solved encapsulated. No more side-effects. No more pages and page scripts. No more untraceable bugs because of changing pages.

Why should you consider using Elm?

Elm offers many benefits over JavaScript, which you’ll see in this course.

Benefits such as:

- Zero Runtime Exceptions

- Simplified Debugging

- Easy Refactoring

- Helpful Type System & Compiler

- Improved Productivity

- Inherently testable code

- Enforced Semantic Versioning

- and many more...

Can we ask a favor? Lot of efforts have gone into creating this course, and new videos would be continuously added. We would be very grateful if you would help spread the word about this course. Thanks!

Content

Racket

Introduction

Installation and Configuration

Installing Dr Racket
Choosing Language

Working With Racket

Expression Syntax
Consistency
Defining a Function
Working with Images
Strings
Comments
Conditional Statements
Cond in Functions
Structures
Lists
Drawing Shapes

ELM

Introduction

Installation and Configuration

Installing ELM and Editor
Installing Package
Installing NodeJs

Working with ELM

Package Manager to create a JSON File
Import HTML
REPL
Lists
Boolean Data Types
Tuples
Functions
Recursive Call
Module Imports
Create Module
Type Annotation
Type Aliases

Creating a Small Application

ELM Architecture
Application to Increment and Decrement Number

Reviews

Francis
April 6, 2022
The annunication is pretty poor. For both courses Racket and Elm, it assumes the learner has prior knowledge of the subject itself. In Racket, it doesn't show the practical aspects of how Racket is used. In Elm, it jumps around fundamentals too quickly, doesn't explain like white-space, caps, how is Elm functional; jumps into a Model-View-Update pattern without explaining the overall concept of the main-function and call-backs to user supplied functions for View and Update, etc.This call-back that sets the behaviour is an important paradigm to understand.
Vincenzo
October 18, 2020
go to https://guide.elm-lang.org/ and in less time you learn the same and find also the "Application" with no mistakes/bugs
Elif
January 6, 2020
This is the only DrRacket course here. Starting is okay but "Working with Racket" is not enough. In my university, my lecturer learnt us harder and examples are harder too. Course content and examples are not enough for the learn this language. We learnt accumulator, structures and etc., but there is nothing here. Please update the videos, I'm going to return.
Lucian
November 29, 2019
I found this course to be extremely unhelpful, and not worth the investment when you are able to find similar tutorials on YouTube for free. I would not under any circumstances recommend this tutorial for purchase by anyone who is looking to learn Racket
Douglas
November 3, 2018
Yes, some of the CS courses on Udemy are pretty challenging and a little above my level of ability. This course is nice and easy, and progresses at a slow enough pace so that I'm able to understand everything in the lectures--at least so far! Thank you.
Matt
June 14, 2017
This may be a good course... i simply can't understand what the instructor is saying. The audio is poor, and combined with the accent of the instructor, I simply could not understand (it's a me thing).
John
April 14, 2017
Class covers two disparate subjects. There does not seem to be any rhyme or reason as to why he covers these topics together. Also in term of elm, which was the part I was interested in the instructor did not contribute anything beyond the basics elm-lang.org examples.
James
March 31, 2017
The sound quality is very challenging... the author is a a little difficult to understand because of his accent, and the poor sound quality makes it impossible to catch everything he is saying. The course is also a very brief introduction to Elm.
Samantha
January 18, 2017
Good course. Nicely Organized. I really liked the course and the way of teaching. Thanks for creating this.

Charts

Price

Racket and ELM Programming for Beginners - Price chart

Rating

Racket and ELM Programming for Beginners - Ratings chart

Enrollment distribution

Racket and ELM Programming for Beginners - Distribution chart
1049702
udemy ID
12/23/2016
course created date
4/9/2020
course indexed date
Bot
course submited by