About the Course
Functional Problem Solving with Scheme
What questions about the course do you have that are not answered by the web site?
Can we work with friends who have taken CSC 151 in the past and who have offered their assistance?
This actually is a very good question. The CS tutors are trained to know what you've been taught so far, and also how to elicit ideas from you, rather than strictly providing answers. Any help you receive should be like this, and is still subject to the academic honesty policy (attribute any assistance).
If we are interested in taking higher-level CSC courses, what course should we take after we complete this one?
The next course in our introductory sequence is CSC161, Imperative Problem Solving and Data Structures, which is a look "under the hood" that follows more closely how the computer is physically doing things.
How much time would we have for the in-class lab, in general? That is, how is the 50-minute class period divided?
It can vary, but generally I try to give at least 30 minutes for work on the lab. Most of the time I succeed at that, and sometimes I manage to talk less and give you more time. A lot of it can depend on how many questions are asked beforehand.
What's the easiest way to get an A?
First, ask lots of questions! If there's something you don't understand, put up your hand and ask about it. Second, work through examples in the reading and be sure to finish the labs. (And of course, ask questions about them if you have any.)
How soon do you put up homework assignments on the website?
I put them up the day they are assigned. I do not hand out paper copies.
Just if we can do hw together and also to what extent will we dive into computer science. I guess im just curious about all we can do with what we have.
Yes, you will be allowed to collaborate on homework assignments, and the course project. You will have covered the basics of Comp Sci by the time we are finished. Of course, there is always much to learn (and we'll talk about refinements and learning opportunities for future classes where we come up short in this one).
What kind of projects will we undertake in this class? What kind of languages can expect to understand at the end of the course?
The project is an somewhat open-ended image design project with only a few basic requirements. The rest is up to you and your creativity! We will be learning one language in this class, Scheme. But you will learn many aspects of algorithmic thinking that would be applicable in other languages as well.
What classes would be suggested as a follow-up to this course, provided that I find it enjoyable?
For better or worse, the introductory Computer Sciene curriculum is somewhat linear. Thus, the next course is CSC 161 Imperative Problem Solving and Data Structures. After that, there are many interesting possibilities with no further pre-requisites: Artificial Intelligence (CSC 261), Computer Organization and Architecture (CSC 211), Operating Systems and Parallel Algorithms (CSC 213). Some special topics courses are also typically offered that may be relevant. This semester there is a Computer Graphics course and next year I plan to offer a Computer Vision course.
Created 14 January 2009