Section 0101, 0102, 0103 and Honors, Fall 1995

Comments, Questions and Some Answers

This page will be updated frequently with comments and questions from the students via email as well as some responses from Prof. Chang.

Names have been withheld to protect the innocent. Some submissions have been edited for grammar and spelling.

You may also browse through last year's questions and answers.


Prof. Chang,
I just wanted to tell you that I really gave your class a chance. I thought if I stuck it out long enough that I'd start to like it, but I don't. I am at least trying to pass your class even though I feel you can't really teach.

Dear Student,
I was not aware that "liking" the class is a prerequisite to doing well. There is little I can do if you naturally do not like programming. Lots of people do not like programming --- even computer scientists. If you really feel that the reason you don't like to program is because of the way I teach, then you should give programming another chance by taking another programming class (not from me).

Prof. Chang,
I believe that the help that we get on the projects is too much. I have never had a programming course before or any computer class before, but through reading the text and listening to your lectures I find it easy to do the projects. I think it is a little unfair that I spend a few hours making up the project and then Scott will assist during discussion on any problem the student has. He is doing his job, and does it very well, but he helps too much when it comes to the projects. I know that this is a first year computer course, but isn't there an easier course like 101 for those others.

Dear Student,
There are several possibilities.
  1. This is a joke.
  2. You are a good student.
  3. The way we have organized the course makes it easy to learn C.
I think that it is safe to say that many students find the projects quite difficult even with Scott's help. For example, as of the morning of Nov. 28, only 96 students have turned in Project 4.

Prof. Chang,
I feel that Project 2 was too involved for someone who has never had any past programming experience. I struggled with it for a long time and still didn't get it right. I go to all the lectures, review sessions and I have read all the assigned chapters over and over and over. There is no way that someone who does not have any prior experience with programming can do the assignment without someone doing it for them. This class should require prior programming experience. I think you should re-evaluate the projects you are making us do.

Dear Student,
I assure you that there are plenty of your classmates who have succesfully completed their project 2 who have not programmed before. They may have needed help from me, a TA or a help center tutor, but they did manage to get their programs to work.

I do not pretend that this course is easy. I certainly do not guarantee that everyone who takes the class will be successful. There is a certain amount of material that has to be covered, and I will not be doing anyone favors if I skimp on this.

And by the way, the projects get more difficult.


Prof. Chang,
If you select the microphone volume for a high level and place the mic directly over your heart, can we hear it beat?

Dear Student,
No, you will hear the screaming wail of 160 students trying to do their projects on time.

No, wait, that's just the feedback from the speakers.


Prof. Chang,
I am really curious. Why is C called C? What is it named for?

Dear Curious,
True story: because it comes after the language called B.
Why is B called B? That's another story...
... and now you also know why C++ is called C++.

Prof. Chang,
For people having trouble connecting with their modem to the school, there is little help to remedy the problem. What does one do to get constructive help?

Dear Unconnected,
Well, there is little one can do to give help. When things get bad, there can be so many problems with connecting two computers. If your problem is a simple problem with having the correct software settings, then the guide put out by University Computing Services is very helpful. Beyond that, what you really need is someone who is experienced in this matter to go to your house. (Alternatively, you could bring your computer to someone, but then your trouble could be with the actual phone line connecting your house to UMBC.) Sometimes certain pairs of modems are simply incompatible. In that situation, you simply have to buy a new modem. It helps to know if you can connect to any other computer system.

In any case, you have to be very very very explicit about what your "troubles" are. Write down every error message exactly, find someone who has a similar system as you and see how they manage to get their system hooked up. Otherwise, it is impossible to try to help.


Prof. Chang,
Will we be able to access the quiz grades via computer or will we get the answer in class? When will the ans be available?

Dear Student,
Yes. Not this week.

Prof. Chang,
First of all, I think the online quizzes (from previous semesters) are great! It really helped me know what to expect for the upcoming quizzes. I do have one suggestion, though. I noticed that when you click on the solutions to the quiz problems, all you get are the solutions.

While the solutions are necessary for every quiz problem, I would like to see explanations of the solution. Like How in the world did you get that answer? Where did that number come from? or What section of the book should I refer to if I wish to review and understand the answer of the problem? I beleive that with these type of "guides" or "aids", it makes a lot more sense to me when it comes to studying and learning C.

Sincerely, "Answer" Man

Dear Answer Man,
I suppose I could argue that there is a lot to be learned from looking up the answer in the book (and even more from finding it). The truth of the matter is that what your asking from simply requires too much work on my part. The main difficulty is that I cannot anticipate all of the questions that might come up. You have to ask the question (the other half of interaction). Even if I could anticipate all the possible questions, I susupect that there will be too many to write down.

If you are really stuck on some question, you have many options. You can bring up the question in discussion class, ask your TA or me during office hours, ask a Help Center tutor, send me email, send the Help Center email or even ask the question at the beginning of lecture. (Wow! People are much better at answering questions than computers.)


Prof. Chang,
I noticed in an example you used the name Joan Miro in a printf statement. I was just wondering who Joan Miro is/was because this is about the third time I have seen a reference to her in a week. I feel that this coincidence is too much too be ignored.

Oh Lucky One,
Yes, it does seem an incredible streak to run across Miro three times in a single week. Miro was a 20th century Spanish (Catalan actually) painter. Most of his (not her) famous works were of the surreal variety. I visited the Miro museum in Barcelona a few years ago, so I used his name in the printf example.

You can browse through some of Miro's paintings by visiting the WebMuseum.


Prof. Chang,
Could you use the bigger projector screen (the one that you you use when using the computer)? It's hard for those sitting at the back to read the small projector screen. I've taken a class in LH5 before and the professor used the projector next to the computer. Could you also please use that.

Dear Back-seat Driver,
The projection screen is horrible for transparencies. It is too dark and too high up (hurts your neck to be staring at that screen for an hour). Besides, I can't point to it, and it is very difficult for people sitting up front to see the projection screen.

If you can't see, sit closer for crying out loud.


Prof. Chang,
I dont understand why we are using "genlib.h" and other standard header files? I read the preface of the book and its states that this will help us better understand the theorey of C but still. I rather in my opinion use scanf rather then GetInteger or GetReal() functions. I don't think I will copy those *.h files from the author and use them outside of school.

For us to better understand the abstraction of C why not just teach us pascal in first year then go directly to C++. Because pascal is a better teach language then C?

Dear Scanf-phile,
In the computer industry, one should not confuse "standard" and "good". But, first things first. It is OK to not understand header files for now. That's why you are in this class. We will talk about them in Chapter 10 or so. Now, let's see if you will let someone who does understand libraries and header files convince you that GetInteger is not so bad.

Yes, the scanf function is a "standard" function. However, it is a low level function and does not do many things that GetInteger does. In fact, scanf is a particularly nasty function (when we learn more about functions, I will explain why). For example, if you use scanf to read in an integer, and the user types in a real number, it can be difficult to recover from this error. In essence, you will have to write some code to make sure that you get an integer from the user. Your program shouldn't crash just because the user types in "2.3". Now, the GetInteger function does all this for you.

You are right that you will not be using GetInteger for the rest of your life. However, what you may not realize now, is that you will not be using scanf either. When you are writing a "real program" perhaps in a windowing environment (say on a Macintosh, in X-windows or Microsoft Windows), scanf is not what you will use. There are more complicated function calls to set up a dialog box, etc. before you begin to accept keystrokes from a user. It is "normal" that you are required to use functions from a library to get input from the user.

As for PASCAL, there are still proponents of teaching PASCAL first. The problem with this approach is that we usually don't get to teach anything second. (Despite the prevailing impression, Data Structures should not be a course just to teach C++.) It is perhaps unfortunate that C/C++ is the "standard" programming language in the computer industry. The point to remember is that we shouldn't pretend that what is "standard" must also be "good".


Prof. Chang,
I am still uncertain about which platform we (as students) can use to execute the final results and submit the source code to you. I observed that UNIX and its compiler (as well as text editors) are the chief platforms the text book uses. I also observed that you have provided only one compiler and it's on the UNIX operating system. But I was wondering, if I get all the necessary libraries (DOS, for example), can I submit my source code (that is geared toward DOS)? I can see that this would be more of a pain for you to grade since you would have to download it from the system and grade it on a PC. But I was curious if you would allow this. Thanks.

Dear Submitter,
You have to submit from UNIX.

The final arbiter of whether your program works is whether it runs on UNIX. We cannot be in the business of providing compilers or even support for compilers for your machines at home, whether they be UNIX, DOS or Macintoshes. That would be a nightmare, indeed.

More importantly, you use your machine at your own risk. Short of coming to your house and setting up your system for you, there is no way we can make sure that your system really works.


Prof. Chang,
You need to do something about the portable microphone! We can't understand you the majority of the time.

Dear Student,
Thanks for letting me know. Now, please tell me during lecture, when the microphone gives out. At least I can speak louder. I'll check with Audio/Visual services to see if the microphone needs fixing.

Prof. Chang,
As I sit in the lectures and listen to you talk about all of this programming stuff, I wonder to myself is this just a class about programming? Is this true?

Dear Wonderer,
Yes, I am afraid so. We will use the majority of the lecture to train the students in programming. Ideally, we will also impart some general knowledge about interesting problems in Computer Science (as is done in the Honors section). However, we do not have enough time to do both. Since learning how to program is a prerequisite for most of the courses in Computer Science, it is necessary that we concentrate on programming.

Prof. Chang,
How often will you update the WWW pages.

Oh impatient one,
I wil try to do so every week. The beginning of the semester is more hectic for me. Although I hate to admit this, most of the first two lectures are very similar to the ones from last year. You should be able to find what you need there, too.

Last Modified: Thu Sep 7 16:14:31 EDT 1995

Richard Chang, chang@gl.umbc.edu