CSC112 Computer Science II Object Oriented Programming and Data Structures Spring 2005 Ileana Streinu Tuesday, January 25, 2005 Fill in the following questionnaire and email it to Ileana at the class account 112b by the end of the day TODAY (Tuesday). Name: First-year Sophomore Junior Senior (circle one) Major (if known): Email address: Registered or not for the class? Have you taken any 102/3/4/5 class? When did you take CS1? What programming language did you learn in CS1? Are you familiar with HTML? List previously or currently taken Computer Science classes: List previously or currently taken Mathematics, Physics and Engineering classes: If the homework is due on Wednesday night, when would you plan to start working on it? If a TA would be available in the lab to assist with program debugging, which day or days would you prefer (circle all that apply): Monday 7-9 ; Tuesday 7-9 ; Wednesday 7-9 The following are possible times for office hours. Circle all those that you will be able to attend, and indicate your order of preference. Tuesday 9-10:30 (before class) Wednesday 2:30 - 4:00 Thursday 9-10:10 (before class) I may need to reschedule once or twice a class and/or lab. Which of the following times would work for you: Lecture: Tu 8-9 Tu 9-10:20 Th 8-9 Th 9-10:20 Wedn 2:40-4 M/W or Fri 8-9 9-10 10-11 11-12, etc. or indicate when you have no other class conflicts. Lab: Tu 3-5 Tu 7-9pm M 7-9pm Please read the following and confirm that you've read it as indicated: I understand that programming is a challenging task and that debugging my program may take longer if I have not designed it carefully from the beginning. I understand that I cannot expect help on debugging my homework, from either the TA or the professor, if I have not started working on it at least one full day before it is due. I understand that the TA can only help me with debugging and general questions, but not with designing the homework program. I will read the description of the syllabus, the class requirements, the grading policy and the lateness policy from the class web page and I will confirm by tonight (Tuesday September 7) by sending email to the professor at 112b@cs.smith.edu, that I have done so. Please answer the following questions, in no more than 15 minutes. Skip those that you think would take too much time, do only what you think you can do fast. 1. A car extends human ability to move, a computer extends its ability to perform various mental tasks. Using this car-computer analogy, which of the following activities is, in your opinion, closest to what each of these people do: a computer scientist; a secretary typing a letter in Word; a student sending email; computer technician connecting the computer to the local network; a company hiring a person to build its web site. (Write the name of the person next to the activity; several may apply.) - driving a car - constructing a car - designing a car - researching for new physical solutions to achieve fast controlled motion (electricity instead of gas, legs instead of wheels, etc.) - servicing a car (such as having an oil change) - getting a ride in a car, while someone else is driving. 2. With this car-computer analogy in mind, which one of the above do you want to do with the computer knowledge you will learn in this class and perhaps in other classes in the future? Write all that apply. 3. What are your main reasons for taking CS2? Mark all that apply, and use the extra space for additional comments or for situations not listed below. - I am 100% sure that I want to do a Computer Science major and pursue a Computer Science career afterwards. - I am considering doing a Computer Science major, but I am not 100% sure. This is a required course so I have to take it. - I want to do a Computer Science minor. (What is your major?) - I am a senior about to graduate and I heard that Computer Science classes look good on the transcript when looking for a job. - I may not be able to do a major or a minor because I discovered too late that I like Computer Science, but I am VERY interested in programming. - I love programming! - I do not like programming, but I cannot avoid taking this course, it is required! - I hate programming, but my parents say it will help with finding a job. - I like to invent things and programming is such a creative activity. - I am curious how computers work, and understanding programming seems to be a necessary step. - I like challenges, and programming is VERY challenging! - I find programming very natural and easy. I want to learn more. - I want to be the best computer programmer in the world!! - I want to learn Java because I heard it is fun! - I want to learn Java (and/or C++) because my friend says it's easy to find a job if you know Java (or C++). - I do not really know why I am taking this class.... - Other (write a few explanatory sentences) 4. Write a simple Python program to print the string "Goodbye Python, Hello Java". 5. How much is 1 + 2 + 3 + 4 + ..... + 100 ? 6. How much is 1 + 2 + 3 + ... + n ? 7. Write a simple Python program to add all the numbers from 1 to 100 and print the result. Sketch it only, you should not worry about syntax. 8. Write a simple Python program which reads a number n from the user, then prints all the numbers from 1 to n.