Poetry of Programming - Puzzle Based Introduction to Functional Programming
This is a Clojure programming course designed for non-programmers, in particular for Liberal Arts students with some college/high school algebra background. The course discusses the functional core of the language. It is offered at Akita International University in Japan (MAT245). It is designed for
- experiencing the joy of computer programming,
- seeing mathematical ideas in use,
- getting fundamental and powerful programming skills, that could kickstart a serious IT career.
- Flyer for advertising the course
- Syllabus detailed description, schedule, assessment, related courses
- Textbook suitable for self-study
- How To Code It? guidelines for computational problem solving
- Assignments are for lab work. In case of running out of time, they become homework problems.
- Reading Exercises are for traditional paper-based exams. The task is to determine what the one-liners evaluate to.
- Coding exercises are for practising how to turn ideas into source code. Plans are given, the task is to express them as Clojure code.
- Extra problems
- Mini-projects require a bit more work than exercise problems.
Try the language online: replumb(cljs) reepl(cljs) repl.it(clj)
FOR SOFTWARE ENGINEERS, COMPUTER SCIENCE EDUCATION RESEARCHERS
This work is licensed under CC BY-NC-SA 4.0.
Attila Egri-Nagy @EgriNagy
Course Introduction 2017/18 Winter
The purpose of the course is to experience the joy of computer programming. Serious fun that can easily be turned into an important skill in career planning.
Course Introduction 2017 Spring
This course aims to share the empowering and fun experience of writing computer programs. It is a gentle introduction to functional programming in Clojure, which is based on very simple mathematical ideas and it is currently gaining widespread adoption in software industry. According to stackoverflow, it also appears to be well-paid.
Is this course for you? First of all, you do NOT need any previous programming experience. So if you are interested, then YES.
In particular, Poetry of Programming is for you if you agree with AT LEAST ONE of the following statements.
- You like puzzles but you do not find solving equations too exciting (or you do).
- You don’t like math but you are happy to give it one more chance.
- You like math.
- You would like to understand how computers work.
- You like the idea of an intellectual adventure.
- You are planning a career in information technology.
- You are concerned about the society in the information age, so you would like to understand computing as one of its driving forces.
- You know some other programming language, but want to learn Clojure as well.
Unfortunately, the gender ratio in computing is currently out of balance. There are efforts to get more diversity (see for example girlswhocode.com), so there could be good career opportunities for women in the IT sector. Therefore, female students are particularly recommended to consider this course.
Original blog entry on how this project started