Lecture NotesBinary Search Trees: Part III. Lists: Part II + Accumulating Recursion.. Programming and the Programming LanguageFluxus, DrScheme and PLT SchemeFluxus makes possible an extremely interactive and adaptive demonstration of most of the concepts of CSC 148/150: Trees, Recursion, Objects (including, but not limited to, Python objects and classes), Models of Execution and Memory, etc. It will be used for some of the lectures. As a bonus (and why Fluxus is even possible!), Fluxus is scripted in PLT Scheme, which has a strongly proven track record of teaching 1st year programming and preparing students for other languages (Java/C++/Python):
Experience documented there shows that students who learn programming via PLT Scheme, quickly do better in Java/Python/C++ than students who learned programming in one of those languages! So in CSC 150 we will easily cover the syntax of Python, and the quirks of Python's behaviour (read on), after understanding the programming concepts clearly, thoroughly, and more easily, via Scheme. Switching from Java to Python in 1st year, to both introduce programming in CSC 108 and then use in CSC 148, has been a great success at UofT, with lots of positive feedback from students. But our 1st year instructors are continually thinking about improvements, and finding that Python has a lot of arbitrary hidden complications. PLT Scheme has much cleaner and clearer meaning and behaviour, where there are problems with Python:
DrScheme is the required environment for learning PLT Scheme in CSC 150. It is available in the CDF labs (currently being upgraded to a newer version), and is easy to install and use on all three major platforms (Windows, Mac, Linux). Fluxus is also being installed for use in the CDF labs. TextsTo review programming: How to Design Programs, and the 2nd Edition in Progress. Guide to PLT Scheme. Explorations and ReadingsSep 9–13Find your CDF Lab Username and log in from one of the labs. Install DrScheme, or try it in the CDF labs, possibly via remote access. Watch the DrScheme Tour video. Read Part I, Sections 1–5 of How to Design Programs, and do all the Exercises. Look up all the PLT Scheme functions, expression forms and statement forms used there, in the PLT Scheme Guide. Sep 21–23Read the rest of Part I of How to Design Programs, do exercises as necessary. Sep 23–25Read Part II, section 14.1 and 2. Oct 2–5Read Part II, section 9. Ask questions or make comments about any of the above, on the Readings and Explorations bulletin board. |