School of Engineering and Applied Science
Department of Computer Science
CSci 51 -- Introduction to Software Development
Alice Armstrong, Course Instructor
Michael B. Feldman, Course Director


Fall 2001 -- Frequently Asked Questions
latest update Aug. 26, 2001
http://www.seas.gwu.edu/~csci51/fall01/51f01faq.html

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.

What is this course about?

This course is an introduction to software development. Computer programming is one aspect of software development, but there are other aspects that are just as important. Three of these are a systematic approach to problem solving, systematic software testing, careful and structured use of English.

I have no previous experience in programming or software development. Am I going to be OK in this course?

You've come to the right place! This course requires no previous background in programming or software development. We do assume you have some basic skills in using a computer, at the level of a course like CSci 41: some use of a word processor, some experience using an Internet browser, and so on. Many students with no other experience have taken this course and done well; you can, too!

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 51 is not intended to be a very heavy course. On the other hand, software development courses 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.

Do I have to go to lecture?

Lecture attendance counts 5% of your grade. Some days attendance is taken (in the form of a reading quiz); other days it isn't. If you must miss a lecture, you are still responsible for all work covered, so ask a friend to take notes for you.

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.

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/~csci51/fall01. 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?

Not usually. I don't read from prepared notes. I do use viewgraphs, but I often change them at the last minute or write on them during lecture.

How is grading done?

Your semester grade will be calculated as follows:

  • Lecture Attendance 5%
  • Quizzes 5%
  • Laboratory Assignments 10%
  • Midterm 1 Exam 15%
  • Midterm 2 Exam 15%
  • Final Exam 15%
  • Software Projects 35%

 

Do you drop the lowest project grade?

I will eliminate the lowest project grade for each student, under the following conditions:

·        The project was turned in no more than 4 weeks late

·        The project would have earned at least 5 points before any late fees were assessed

 

The idea behind this is that I will not allow students to simply not do a project. Some effort should be made and in a timely fashion. I will not drop any grades from the last two projects. These projects tend to be larger and more complicated. It is important that they are done.

Do you grade "on a curve"?

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 As, Bs, Cs, etc. If every student does well, every student gets a high grade.

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.

What about the reading quizzes?

There will be several short, unannounced reading quizzes. Expect one a week. They will cover information from that week’s reading assignment. They will be very short and should not heavily 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.

What about these software projects?

I will assign a project roughly every week, which will be due the following week. Each project will 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 9 projects.

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.

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 TAs and me for help. If you are interested in tutoring, contact Brendan Lynch in Tompkins Hall. He is in charge of SEAS Student Support and he would be happy to help find a tutor. Prof. Michael Feldman is the director of this course. This means he is my supervisor. If you are having trouble with the course and feel that you cannot talk to me or one of the TAs about it, contact him. Also Dr. Narahari, the Department Chair, is always has his door open for students.  

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, 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. Please read the handout on Plagiarism and Collaboration, which spells out the rules for getting help from others.

If you ever have any question about whether you’re following the rules, ASK Prof. Feldman or your lab instructor. Do not guess! Do not rely on other students’  opinions!

Also read Academic Integrity in Computer Science and the GW Code of Academic Integrity.

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". We suggest that you start the semester using your computer as a terminal to log into hobbes over the Internet. Once you have a good sense of how the projects and software development tools work, you can install them on your own computer using the CDROM in the back of the textbook. Once your project is done, you will still need to test it on hobbes.

How do I get to hobbes from my home computer?

If you have a Mac, see Prof. Feldman.

If you have a Windows computer, first you need to get connected to the Internet. The university no longer provides dialup lines, so you need to sign up with an Internet Service Provider (ISP). America Online does not provide the kind of "dialup networking" Internet service you need, but services like StarPower, Earthlink, etc., do. Ask at CIRC for suggestions for ISPs in this area.

Once you can connect via your ISPs "dialup networking", you need a program that proves a "secure telnet session" on hobbes. You can download a free one, TeraTerm, from GWs Information Technology Services (ITS) website, at http://www.gwu.edu/~virtual/manuals/ibm/tterm.html. This is the same program used in the lab PCs to get to hobbes.

How do I get help in this course?

Prof. Feldman and the lab instructors are ready, willing, and able to help you. Speak to us after class or at their office hours.

We can also help you by e-mail; we try to answer promptly.

If you have trouble interpreting compiler messages in your listing (.lsb) file, you are not alone! The compiler has its own way of communicating with you, and this will seem strange at first. For help in understanding the compiler's messages, send the .lsb file by e-mail to Prof. Feldman or your lab instructor. Here's how:

We assume the .lsb file is in your hobbes account, because that's where the compiler put it. Suppose the file is called project1.lsb. E-mail the file by typing

elm mfeldman <project1.lsb

Do not forget the < symbol!

DO NOT USE PINE TO SEND IT! DO NOT SEND "ATTACHMENTS"! We get too much mail to deal with these. The listing must be immediately legible in the e-mail note.

SEND THE ENTIRE FILE, not just the part with the error message! Cutting and pasting parts of a listing will maker it much harder for us to help, as we need to see all your code, not just a small piece of it.

How do I withdraw from the course?

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

  • During the first four weeks: you can withdraw using a simple Drop/Add (Registration Transaction) form. The course disappears from your transcript.
  • After four weeks but before Preregistration begins: you can withdraw using a simple Drop/Add but the grade W appears on your transcript. This has no effect on your grade-point average.
  • After Preregistration begins but before the end of classes: this is considered a "late withdrawal." You must complete a SEAS Late Withdrawal form, which requires the signatures of the instructor, your advisor, the CS Department Chair, and the SEAS Associate Dean. I will always sign a late withdrawal form, as long as classes have not ended for the semester. I will not sign a withdrawal form after the last class!
  • Coulmbian School Students: Please note that the Columbian School has a very strict withdrawal deadline which may fall before our midterm. The Columbian school does not let students withdraw from classes after this deadline. Please be aware.

Do you give Incompletes?

Under University regulations, and my own policies, here are the rules for Incomplete grades:

  • A grade of I (Incomplete) may be assigned only when the student has really special circumstances such that (s)he cannot finish the work of the course. I follow the University regulations, and do not give Incompletes unless the situation is truly unusual. Do not ask for an Incomplete just to gain more time to finish projects or raise a low grade. I will almost always say no.

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.

Why are we using Ada 95 in this course?

We, like about 150 other colleges and universities, are using Ada 95 in this course because we are convinced it is absolutely the best choice for a course of this type. We have used Ada here since 1985, and Ada 95 since 1995, and it works!