The most effective way
to learn programming


An introductory programming course taught in NYC


Programming 101: Pen and Paper Coding

# Exercise 1: Print "Hello world" on the screen.

By using only pen and paper initially, you can focus on learning the core principles of programming while waiting with the computer specific aspects of it until after you master the basics.

What?A demanding but rewarding introductory programming class, taught using pen and paper only
Why?Our method allows you to learn the core concepts of programming without any of the distractions that occur when using a computer too early on in the learning process
Where?Impact Hub (394 Broadway, New York City)
When?3.5 hours once a week for 5 consecutive weeks, with groups on Saturdays and Tuesdays (see schedule for details)
How?Instructor + between 4 to 8 students. Each weekly session will consist of theory as well as plenty of guided exercises, plus homework
How much?$399 for all five sessions. A textbook (written specifically for this course) covering all lectures and excercises is included in the price
New in 2015!All classes are recorded and available within 48 hours on the course website. Also, each session has been extended by 30 minutes.


Course content

The course covers nearly all of the basic materials you will need to master in order to solve real programming problems.

A heavy emphasis will be for you to start thinking algorithmically and to start “thinking in code”. Being able to do so, and being able to execute code in your head, is one of the core learning objectives of this course, and something that you will find useful throughout your programming journey.

*) An optional 1 hour, open book in-class final will be given to students at the beginning of the fourth class, as a means to help assess any knowledge gaps that may be present so that those can be addressed by the last class.

Schedule and enrollment

Update, October 26, 2015: We are currently unable to enroll more students for 2015. Please check back in in 2016, and sign up on our mailing list at the end of this page and we'll let you know of future course schedules!



No previous programming knowledge is required, but basic arithmetics knowledge is a prerequisite (i.e. knowledge of addition, subtraction, multiplication and division).



This is what some of our alumni are saying!


“I highly recommend this course, especially if you are starting out with coding and feel frustrated with other classes that don't help you understand the underlying mechanics and principles of programming.”


“Erik was a great teacher who demonstrated expertise and passion for both programming and teaching.”


“It was so much better with pencil and paper as one can keep a record of each step, including errors. The computer can itself be a distraction and with this we just concentrated on the language.”


“Erik kept the sessions interactive, which was perfect because it made everyone feel very involved and focused.”


More information

Learn more about what we will be doing in class, the programming language we will be using, prerequisites and other frequently asked questions.


What will we actually be doing in class?

The goals of this course are ambitious, and the course covers a lot of the materials taught in a typical “Programming 101” course at computer science departments around the world.

Each class will introduce several new programming concepts, and each of these concepts will be practiced in depth using exercises that the students will work on in-class.

One of the primary objectives of the course is to get you to start “thinking in code”. Below is an example of an exercise we will work on in the third week of the class that practices looping (an important concept) and helps you translate real-world problems into code:


Which programming language will we be using?

We will be using a programming language that has been custom made for this introductory progamming class. Our programming language will draw heavily from lower level languages such as C, Java and Go, but will also borrow concepts from higher level languages such as Ruby. On the difficulty spectrum, it can be said to be in the middle---easy enough to not inhibit learning, but advanced enough to teach all important concepts.

Transitioning from our language to an "easier" language, such as Javascript, is very straightforward, while transitioning to a more "difficult" language, such as C, is still very doable.

If you are just starting to learn programming, the important thing is to not focus too much on what language you learn. Nearly all languages share the same common features (logic, loops, functions, etc.), and these are the features you must learn to master, rather than learning bits and pieces of syntax of a given programming language. Provided you master the core concepts of programming, learning (but not mastering!) a new language can be done in as little as a weekend.


Will I be ready to start programming a web application, an iPhone app, etc., upon completing this course?

Yes and no. While you won’t have the specific knowledge to do so merely upon graduating from the course, you will have picked up the foundation from which you can transition into more specific areas, such as web or app building.


Will there be homework?

Yes. Students can expect to spend an average of 2-4 hours per week on homework.


How do I transition to programming on real computers?

There are plenty of excellent online resources and lots of literature that can help you here, all of which will make a lot more sense once you have completeted this course.

We also offer a course that is a direct continuation of the Pen and Paper Coding class, but using real computers. This course is offered two weeks after the end of the Pen and Paper Coding class. More information will come soon.


Do I need any previous experience to attend the course?

No, but please read through the following requirements:

The Pen and Paper Coding team

Main instructor

Erik Linde, former quant analyst, now entrepreneur; invented the world's first interactive sheet music platform that used real recordings, and has programmed for more than 15 years in over a dozen programming languages. Erik learned programming the same way he is now teaching you.

Erik Linde

Community manager

Lina Maria, formerly in financial education and interior design, is the community manager for Pen and Paper Coding. Lina's goal is to bring people together to learn programming and to create awareness of this fun and innovative way of learning!

Lina Maria


Teaching style

We aim to make this experience as fun and interesting as we can! Students are welcome to ask questions anytime, and our teaching style is both informal and friendly.

In a typical session, we start with a theoretical overview of the relevant topics, and then cover it in depth using practical examples. Every session devotes significant time to students working on exercises.

Depending on the size of the class, more than one instructor may be enlisted to help students get through the exercises.



Sign up on our mailing list!

Please get on our mailing list and we will let you know when this course is offered again in the future.

Your email address:


Questions regarding the course? Ask Erik!

Main instructor: Erik Linde
Twitter: @eriklinde

All other questions? Ask Lina!

Community manager: Lina Maria

We look forward to having you in our classes!


Pen and Paper Coding is owned and operated by Liberty City Media LLC, 90 State St, Suite 700, Office 40, Albany, New York 12207