Hints and Pitfalls

NewsFlash Admin Assignments Readings Tools Related

Potential 172 Pitfalls and Hints

Students find data structures challenging for different reasons, and clearly there's no panacea. Here are a few things to look out for, and the 1999 172 team solicits your constructive additions or modifications to the list. You can also talk to the curriculum representative on the The Computer Science Undergraduate Council with gripes or suggestions. That's what they are for, and the Council has direct access to the CS faculty and its Curriculum Committee, where changes are implemented.
  1. In other disciplines homework or essays or projects can have a continuous range of acceptability. But programs either work or they don't. Dealing with that is VERY frustrating. If you are not careful, you can spend lots of effort before getting any signs of progress, like a compiling, behaving program. A cure here is incremental programming and good design. Build and test things a small bit at a time, making sure that when you put the bits together they still work.
  2. Your normal mode of operation (we know you) is to start your work at the last minute, like the night before. At the earliest. That may have been fine otherwhere and elsewhen, but we don't recommend procrastination as your time management tool for 172. Our hint is to start work immediately: if things go well you have freedoms, like stopping work or doing extensions and learning more. If by some strange mischance something doesn't go as easily as expected, you have some extra time to cope.
  3. Inadequate preparation. This should not be a problem if you have taken CS171 and MTH150 or equivalent. We are sincerely interested in getting these three courses to mesh in a coherent fashion so you know what it is that we expect you to know and you actually do know what we expect you to know (if you get my drift). So for instance if you made good grades in 171 and 150 and still feel totally lost in 172, let's talk.
  4. Specifically, math. 172 introduces some basic application of mathematics to computer science concerns. It's simple stuff but many students find it tough. Be warned, and take MTH150 first.
  5. Also specifically, students often find it hard to translate prose problem statements into computer code (remember algebra "word problems"?). We hope that 171 introduces the issues well enough, but also this is one of the main skills you're here in 172 to learn, so it's not surprising that you don't know how to do it already.
  6. Course is boring. If that means you don't feel you're being adequately entertained, you're simply in the wrong course: please leave. If it's boring because it's too easy, work the ** problems, do some of the obvious open-ended work on the programming projects, and get together a team to see if you can beat CB's poker-playing program in the lab project.
  7. Course is pointless: 172 is not a focussed attack on some problem, it's a big wadge of unmotivated techniques and lore that we ask you to believe will be useful somewhere somehow. This is pretty much true but it's too inefficient to drag you through the History of Computer Science and have you re-invent the need for all this stuff. In fact, there IS this mass of more or less unordered material that you have to master so you can go on and do fun stuff like robotics, parallel systems, networks, whatever. We hope the programming projects are enough like real-life applications that you can see how the techniques could be useful in Real Life (whatever that is). Further, 172 is also a good introduction to what CS people do, and if you really don't like this sort of activity it's a pretty clear signal that you shouldn't consider a CS major.

---
Last Flash News Page Next Flash

This page is maintained by CB.

Last update: 31.8.98.