About
Announcements
Lectures
Coursework
FAQ
Java API
|
- What is CS-151 all about?
CS-151 covers core computer science material which, along
with the material in CS-150,
constitutes the science in computer science.
It's hard to imagine an intellectual area that is more central to CS
than algorithms. We will study classic algorithms and problems
in CS - these algorithms will teach us about key problem-solving
techniques such as divide-and-conquer.
- Who should take this course?
The course is required for students in the B.S. program,
and in the two Bioinformatics options. B.A. students are
welcome to take the course, as are EMSE students or others
who've had the pre-requisites.
- I haven't taken CS-143. Can I take this course?
You will need a working knowledge of objects in Java
to handle the programming assignments. And you will need
the skill-level that comes with completing CS-143.
Thus, if you've done CS-133 but not CS-143 but have
had considerable programming experience or other
programming courses, you ought to be able to take CS-151.
Talk to me about it.
- I've taken CS-143, but in another language. Can I take this course?
If you're not comfortable with Java, this course
might be exceptionally challenging. We are not going to teach
Java in the course.
- Is this a programming-intensive course?
Yes. Many universities teach their algorithms course without
much programming, focusing instead on the mathematical
analysis of their complexity. This course, on the other hand, introduces
you to algorithmic concepts with a strong focus on
implementation, based on the belief that there's nothing
like coding an algorithm to force one to understand the details.
- Is this a math-intensive course?
Not really. We will only reason about algorithmic
complexity at the high-level. There is some math involved
in understanding the basic terminology and definitions.
Your CS-123 background is more than adequate for this course.
- Will I be able to work at home?
Absolutely. If you have Java working, you can download
the test environment (which is itself written in Java)
and run that at home.
- What's covered in the labs? Is attendance mandatory?
The labs are for extra help. Occasionally we will cover additional,
related topics in the lab, especially in the first half of
the semester. We will take attendance, but if you're doing
well in the course, we won't look at your lab attendance record.
- What's the difference between an in-class exercise and an
exercise with a due date?
The in-class exercises are embedded in the course material,
which we will try to complete in class. Those that we can't
should be done the same day preferably, and will be due in
the lab immediately following the class. Other exercises,
like assignments, are to be submitted formally using our
submission procedure.
- So, in-class exercises are not to be submitted?
Correct.
|