School of Engineering and Applied Science
Department of Computer Science
CSci 133 -- Algorithms and Data Structures I
http://www.seas.gwu.edu/~csci133/spring03
Prof. Michael B. Feldman
mfeldman@gwu.edu

FREQUENTLY ASKED QUESTIONS (FAQ)

last update January 11, 2003


This page may be updated during the semester as more questions arise. You should check this location frequently to see if the page has been updated since your last visit.

General Overview and Grading Issues
Readings, Lectures, and Labs
Examinations
Software Projects
Using a home computer in the course
Withdrawals and Incompletes
Finally...

General Overview and Grading Issues

This course is about software construction, algorithms, and data structures. The three main "threads" that are intertwined through the course are: We trust our lives and our businesses to software. Software is important, and we will be emphasizing the importance of good software design. I hope this will be fun for you, and that you'll be proud of your accomplishments here in writing software that doesn't crash.

The prerequisite is CSci 53 or a closely equivalent course. We now use Java as the coding language in both CSci 53 and this course.

I didn't take 53 and I don't know any Java. Am I going to be OK in this course?

Probably, depending on the kind of equivalent course you took. If you CSci 51 or CSci 49 here with Ada or C, or took a 51-level course elsewhere with C or C++, chances are you will do fine here, if you're able and willing to learn the syntax of another programming language quickly. If you choose a career in software development, you'll be learning new languages and tools every few years. You might as well start now!

If your only other course was (say) at high-school level with BASIC, you are much better off taking 53 first. Speak to me if you have any doubt.

HELP! This course uses UNIX. I am clueless about UNIX because all my experience is with Windows!

You'll have to learn some Unix to get through this course, but you can get help on this in the labs!

Is this a "filter course" designed to weed out students?

Absolutely not! Our goal in this course is that every student should succeed here, and we are here to help you do so.

Is this a difficult course?

It's not intended to be difficult. Any course, in any subject, is easier for some students than for others.

Does this course have a heavy workload?

CSci 133 is not intended to be a very heavy course. On the other hand, technical courses like this usually require somewhat more of your time than liberal-arts "reading" courses. For every in-class hour in this course, you should expect to spend 2-3 hours outside of class. Including 3 hour of lecture and 2 hours of lab each week, that’s 10-15 hours of work outside of class each week. You must plan on doing roughly this amount of work every week!

How is grading done?

Your semester grade will be calculated as follows:

Do you grade "on a curve"?

Sort of. I keep grade records strictly "by the numbers"; at the end of the semester, I compute a final average for each student. I then assign a grade that represents my experienced judgment as to how much you got out of the course. I have no predetermined cutoff points for A's, B's, C's, etc. If every student does well, every student gets a high grade. I do not give D's. A student who cannot earn a C- or better in 133 is simply not prepared to proceed to 143, and should therefore repeat 133. Therefore I will give such a student an F.


Readings, Lectures, and Labs

Do I have to do the readings?

The textbook and other handouts are an integral part of the course, not just background material. You are expected to come to class prepared; you must read each lecture's assigned material before you come to that lecture!

What about the reading quizzes?

There may be several short, unannounced reading quizzes. Be prepared for one in each lecture. They will cover information from that lecture’s reading assignment. They will be very short and are not comprehension based. The idea is to assess whether or not students are reading the book. Part of this introductory class is to help students with their study skills. Reading before lecture often helps students understand the material. Even if you do not understand the information the first time around, the second or third time it should become more clear. Reading quizzes will also be the way I take attendance, so even if you haven’t read, put your name on a quiz and I will know you were here.

Do I have to go to lecture?

GW university policy is that class attendance is required. You are expected to be there; you cannot do well in this course if you skip class. Lectures and reading quizzes together count 10% of your grade. Some days attendance is taken even if there is no quiz; other days it isn't. There is, in general, no "excused absence"; you are there or you are not. If you must miss a lecture, you are still responsible for all work covered.

Do I have to go to lab?

Lab work counts 10% of your grade. Each week's lab session will require you to do a small assignment that helps you learn that week's material. If you go to the lab and work productively on the assignment, you get credit for that lab; if you don't, you don't. If you miss a lab, you can make up the work on your own time, but you cannot get credit for the lab unless you are physically there. It is OK if you occasionally go to a different section of the lab (space permitting), but then you must make sure the lab instructor knows you are there!

What if I miss a lecture or lab, and therefore don't get a copy of a handout?

Each handout will be distributed in class once. All handouts are on the class web site, http://www.seas.gwu.edu/~csci133/spring03. If you miss a handout -- or lose one -- just visit the web site and get a copy there.

Do you give out lecture notes or post them on the web?

Only sometimes; don't count on it. Occasionally, lecture notes will be posted on the class website.

Examinations

Tell me about examinations, please.

There will be two one-hour midterms and a two-hour final exam, both strictly timed. These will be open-book, open-notes exams. If you are coming to class regularly, and keeping up with the reading and the projects, you should not need to "cram" for the exams. Exams will require a mixture of reading and interpreting short program segments, writing short program segments, and short "essay" questions. If you do poorly in one of the midterms, you may choose to replace its grade with your grade on the final exam. You can inform me of your choice at any time before you leave the final exam room.

Software Projects

What about these software projects?

I will assign a project roughly every 2-3 weeks. Each project is "sized" so that you should start on it as soon as it is assigned, and spread your work roughly evenly over the project period. You will not complete it successfully if you leave it until the end of the period.

Projects will often build on the work done in previous projects, so it is in your interest to keep up with the project work. There will probably be 5-6 projects. Unlike in CSci 53, in this course I do not drop the lowest grade!
 

Each project will be graded on a 0-20 point basis. An incomplete submission is better than none; you will get credit where credit is due. I will accept late projects, subject to a "late fee" of 4 points per week of lateness. Each project is due at the start of the class on the due date; projects submitted after the lecture has begun will be counted as one week late.

Is there extra credit?

Yes. The extra cedit assignment is designed to help you gain perspecive on your academic life and does not require any programming. It is worth up to 10 project points and will be due on the day of the second midterm.

Unlike in CSci 53, I do not give extra credit for early submission of "frameworks". By now, I hope you have learned that starting early on a project is its own reward, as you are then able to complete it much more comfortably.

Can I work with a friend on the projects?

Projects must represent the results of your own work. I cannot prevent your speaking with friends to sketch out a solution. But if you collaborate on the detailed design or coding, or copy a program from an acquaintance, and then submit the results as your own work, I will charge you with plagiarism, and I will win. Please read the handout on Plagiarism and Collaboration, which spells out the course rules for getting help from others. If you ever have any question about whether you’re following the rules, ASK me or your lab instructor. Do not guess! Do not rely on other students' opinions!


It is also essential to read Academic Integrity in Computer Science and the GW Code of Academic Integrity.

Getting Your Questions Answered by E-mail

The lab instructors and I are ready, willing, and able to help you.Speak to us after class or at our office hours.
We will also help you by e-mail; we try to answer promptly.

Compilation Errors: Don't waste your time sending messages that won't get you a quick result!

We assume the .lis file is in your hobbes account, because that's where the compiler put it. Suppose the file is called project1.lis. You can e-mail the file directly from hobbes by typing

elm mfeldman <project1.lis

Do not forget the < symbol!

Execution errors: VERY hard to do by e-mail; that is what office hours are for! If you don't leave it till the last minute, there are plenty of office hours to visit Prof. Feldman or lab instructors.


Using a home computer in the course

I have my own computer. Can I use it in this course?

Yes, but the main location of all the programs you will need is on the SEASCF server called "hobbes". The best way to use your computer is as a terminal, to log into hobbes over the Internet, just as we do in the labs.

How do I get to hobbes from my home computer?

First, read the web page at http://www.seas.gwu.edu/~seascf/access/remote.shtml, which discusses how to make your basic connection from GW or an off-campus location. Once you can connect, you need a program that proves a "secure shell client" (SSH2) on hobbes.

If you have a Mac running System X, the Terminal tool supports SSH2 so you just need to start that program and type
ssh -l <your userid> hobbes.seas.gwu.edu
If you have a Mac running System 9, see Prof. Feldman.

If you have a Windows computer, you can download a free SSH2 client from ftp://ftp.ssh.com. This is the same program used in the lab PCs to get to hobbes. Once you install the program, you can connect to hobbes.seas.gwu.edu.


Withdrawals and Incompletes

At GW, an incomplete is completely different from a withdrawal, so it is important that you read the next two questions carefully.

How do I withdraw from the course?

Under University and SEAS regulations, here are the rules for withdrawing from courses:

Do you give Incompletes?

Under University regulations, and my own policies, here are the rules for Incomplete grades:
An Incomplete grade is undesirable. Under GW rules, you are required to remove the I by completing the work of the course. Taking the course a second time does not (NOT!) remove the original I. Under SEAS rules, an Incomplete not removed within one year becomes an F. At GW, an Incomplete is not the same as a withdrawal!

Finally...

What should I do to get a high grade in 133?

There is no magic formula for a high grade, but here are some ways to ensure you will probably get a low grade:

I’m having trouble in this course. Where can I go for help?

There are many people interested in helping you succeed in this course. Please see your lab instructors and me for help. If you need help beyond what we are giving you, contact Brendan Lynch (lynch@gwu.edu) in Tompkins Hall. He is in charge of SEAS Student Support and he would be happy to help find a tutor.

I am the director and lecturer in this course; I am also the advisor of the 2002 entering class; I am very devoted to undergraduates and will do my best to give you any help you need. You can trust me to keep your situation confidential. If you still feel you can't discuss it with me, the CS department chair, Prof. Dianne Martin (dmartin@gwu.edu) is a good next stop for you.

Remember, my objective, and the objective of this department, is that our students should succeed!