Switch branches/tags
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
25 lines (14 sloc) 2.26 KB

Self Study Guide

This course is currently configured to be delivered as a (very!) intensive three-day short course, covering three chapters of notes each day. If you like what you see here, please consider signing up for the next iteration - see the front page for details.

However, since all essential materials are now freely available on-line, it is perfectly possible to self-study this course. Use the hashtag #scscala when discussing this course on-line to allow others to engage with you.

Although I deliver this material in three days, it is not realistic to cover this material in three days of self-study. Even if you have the luxury of being able to study this course full-time, you should allow one full day per chapter. In other words, you should allow roughly two weeks to cover the full course, based on more-or-less full-time study.

In the more typical case where you are studying this course on top of full-time study or employment, covering one chapter per week is probably more realistic. This will make for a nine-week course, covering material at roughly the same rate as a MOOC such as Coursera.

However you study the course, the plan of study should be roughly the same. For each Chapter:

  1. Read the course notes for the Chapter (one Chapter only)
  2. Run the code examples from the Chapter. If you don't like typing, copy-and-paste code examples from the fragments directory. Note that copying-and-pasting from the PDF of the course notes doesn't work well.
  3. Inspect and run all of the examples associated with the Chapter.
  4. Work through all of the exercises associated with the Chapter.
  5. Don't move on to the next Chapter until you have had a serious attempt at all of the end-of-Chapter exercises.

You learn programming by programming and not by reading. Although it is tempting to just read through the notes and skip everything else, if you do this you are likely to get to the end feeling like you've sort-of understood everything but not actually be able to sit down and write code.

Further information, including laptop setup instructions, can be obtained from the start here page.