University of Virginia Computer Science
CS150: Computer Science, Fall 2005

CS150 Course Improvement Survey - Results

Raw Data [xls]

General Questions

For each statement, circle a choice to indicate whether you agree or disagree with the statement. Feel free to write additional comments to explain or clarify your selection.
1. Before taking CS150, I thought programming was fun. Strongly Disagree: 3 Disagree: 1 Not Sure: 5 Agree: 9 Strongly Agree: 0

2. After taking CS150, I thought programming was fun. Strongly Disagree: 1 Disagree: 5 Not Sure: 3 Agree: 5 Strongly Agree: 4

3. Before taking CS150, I expected to take more CS courses. Strongly Disagree: 5 Disagree: 5 Not Sure: 3 Agree: 2 Strongly Agree: 3

4. After taking CS150, I expect to take more CS courses. Strongly Disagree: 2 Disagree: 3 Not Sure: 6 Agree: 2 Strongly Agree: 5

5. I thought the time I spent on the problem sets was worthwhile. Strongly Disagree: 0 Disagree: 0 Not Sure: 3 Agree: 12 Strongly Agree: 3

6. I thought the time I spent on the exams was worthwhile. Strongly Disagree: 1 Disagree: 1 Not Sure: 4 Agree: 10 Strongly Agree: 2

7. I thought that the time I spent attending lectures was worthwhile. Strongly Disagree: 0 Disagree: 0 Not Sure: 2 Agree: 9 Strongly Agree: 7

8. The class on the purpose of high school/college was useful. Strongly Disagree: 0 Disagree: 4 Not Sure: 3 Agree: 7 Strongly Agree: 3 Not applicable: 1

9. How much reading from GEB should be required? More than this year: 3 Same as this year: 5 Less than this year: 8 None: 2
10. Should the Abelson and Sussman be replaced with a book written for this class? No, SICP is a great book: 5 Maybe, if one exists: 7 Yes, you need to write a new book: 3
If you indicated a new book is needed, what should that book be like?

It should focus more on the version of Lisp that the class actually uses.

should have an appendix with a list of frequently used procedures and what they do

I though that we didn't use too much of the book, maybe something that combines GEB & SICP or a book more like the compilation of your guides

I felt that we didn't use it much and it was not directed at what we were learning, a much broader view of computer science.

More practical - more directions; More examples. I felt we learned theory and were expected to extract the practical. I feel I may have learned better if first taught the practical (programming code) and run extracted the theory myself or had a subsequent course on it.

It seems like a packet of reading could cover what we used in the textbook and it would be less expensive

11. Problem Sets for future CS150 courses should involve? More programming, less non-programming work: 4 Simlar balance as this year: 12 Less programming, more non-programming work: 1

12. There should be: More, shorter problem sets: 8 Simlar number and size as this year: 8 Fewer, longer problem sets: 1

13. There should be: Less content, slower pace: 5 About the same: 11 More content, faster pace: 1

14. Which one of these topics should be cut to make room for new material or slower pacing (check as many as you want to remove):

5___ BNF Grammars
5___ Environment Diagrams
1___ Quicksort
0___ Complexity Classes
2___ Halting Problem
6___ Lambda Calculus
2___ Networking
4___ Public-Key Cryptography
all seem important now

lambda calculus - once I understood this I thought it was kind of cool

Problem Sets

15. For each problem set, indicate whether you think a similar problem set should be reused next year. If you have suggestions for what the changes should be, they are appreciated.
PS 1. Making Mosaics Worst PS: 0 Don't Use Again: 0 Maybe reuse, needs major changes: 1 Reuse with minor changes: 15 Best PS: 2
Minor changes for the sake of being different, not that there was anything wrong with it.

I found the final picture confusing and unrecognizable. This made it difficult to see how close ours was.

The mosaic at the end was sort of disappointing. I want a detailed mosaic, its ok if it takes an hour to make

PS 2. Poker Probabilities Worst PS: 0 Don't Use Again: 2 Maybe reuse, needs major changes: 2 Reuse with minor changes: 9 Best PS: 3
Looking back I am not sure it was necessary, maybe as programming practice?


Let us see it in action!


PS 3. L-System Fractals Worst PS: 0 Don't Use Again: 0 Maybe reuse, needs major changes: 0 Reuse with minor changes: 13 Best PS: 3
I enjoyed this one a lotgood balance of programming and non-programming material.

I enjoyed this one. Include better (i.e. working) subroutines. I found many of the extra procedures included like flip and rotate did not work as expected, if at all. Some had the origin in the middle, others in the bottom left corner.

Some general idea of what commands would and what would be nice, more samples

Maybe let us work a little more with the code behind the display.


PS 4. Lorenz Cipher Worst PS: 0 Don't Use Again: 0 Maybe reuse, needs major changes: 4 Reuse with minor changes: 7 Best PS: 5
very interesting

this was the hardest ps for me.

this one really got me excited about this class

Not really the BEST, but doesn't need changes

PS 5. Wahoo! Auctions Worst PS: 0 Don't Use Again: 3 Maybe reuse, needs major changes: 0 Reuse with minor changes: 14 Best PS: 0
gained a lot from this one - programming knowledge and overall understanding

this was pretty good; a good one for mutation. I remember the long inputs for testing being annoying. Also the end result was not satisfying. Offer students suggestions/new requirements for adding functionality?

Maybe have SQL training instead. This could be in the form of a problem set.

ah! hard!

PS 6. Adventures Worst PS: 2 Don't Use Again: 0 Maybe reuse, needs major changes: 4 Reuse with minor changes: 9 Best PS: 3
a little much programming/time spent on it

I don't know, I had trouble on this one. Plus I'm not often creative so the last part about making up an extension did not interest me. I could create objects, but it was annoying to think of what to create. Perhaps others enjoyed it?

fun! but takes a VERY long time- maybe cut it in half (shorter problem sets)

I just found it less worthwhile and more of a hassle than the others.

PS 7. HooRides Worst PS: 0 Don't Use Again: 0 Maybe reuse, needs major changes: 4 Reuse with minor changes: 12 Best PS: 2
This problem set was a little too short, and left me unprepared for PS8

not much actual work, perhaps combine w/ps8 to make 1 big PS, but make PS8 less demanding in combination

compared to the other PS's, this was rather simple but did a good job introducing MySQL and Python.

Maybe expand this into two sets. It was a good intro, but not enough to prevent PS8 from being very difficulty at times. Perhaps add a small part where you actually have to create a new database and functions.

need more experience with classes before this, adventures is not enough

Force more Python on the student. I never felt I learned it very well.

good introduction to different languages

Have us add something that isn't already in the code, so we do less copy pasting and more discovering

PS 8. Dynamic Web Sites Worst PS: 0 Don't Use Again: 0 Maybe reuse, needs major changes: 3 Reuse with minor changes: 13 Best PS: 2

Maybe have some way of keeping groups on track, for example a mid-problem set update report

Lots of freedom but that also came with a lot of responsibility. Maybe use a theme less broad than "dynamic web site". This was good and fund as mentioned about PS7, making new files didn't work so well and PS7 did nothing to help with this. Otherwise, good set.

should have more frequent, smaller due dates

Java and other language requirements make it hard for those not familiar with programming to understand

I feel like, although painful, this is a course goal.

I felt lost - where was I supposed to learn all this code? A lot of what I needed wasn't in the guides in PS8, it wasn't taught in class - gave me a bit of a panic. But our group pulled through! (definitely felt the firehose method here)

Sorry for not being more helpful on problem sets survey, I thought they were all really difficult but I learnd a lot each time so I thought that meant they served their purpose well.


16. Have I done anything in this course that you found offensive?
No (11 times)

Nope, but I am not easily offended.

No. I rather enjoyed the political commentary and the connection between CS theory and DNA etc

17. Have you learned anything in this course that you expect to remember 5 years from now?
It was interesting, I hope to remember.

I expect to remember the purpose of high schoool/college lecture, and complexity/decidability. Also, I will probably remember things about public-key cryptography, distributed processing, and Google.

Networking, dynamic web pages

The high school lecture, basics of programming/general knowledge. Also general knowledge of problem complexities, concepts of computer languages and intelligence

I think it will be hard to forget the P=NP problem since it really gave me a new impression that computer science is much more powerful and has many more applications than I had originally thought before taking the class.

Since I will probably be working with this stuff in 5 years, I would hope so. I enjoyed using Scheme and hope to remember it. I think a lot of the major stuff I learned in 216, but general principles and though process should stick around.


networking, security, cryptography

P and NP

Sure, ideas of quantum computing, biological computing, what can and can't be done with computers. The last one has to do with NP problems and complexity. I think the idea of computing is no longer a black box for me.

twinkiesproject is a great website; also, I'mm never forget how to program recursively

Making websites is more complicated than it looks

Yes - that CS is a liberal art. And that a woman was considered the first computer scientist.

Our silly notions of fast and powerful processing. most of the materialsI hope.

I will remember hot to go about learning a new language - by focusing on the grammar rules and such. And, I will remember about universal computing, NP complete and new computing methods like quantum/DNA computers

What assignment and recursion are; principles behind abstraction and evaluation; what computer language is

18. Do you have any comments about the Assistant Coaches? (Note: unlike the other questions, the responses to this question may not all be made public, but will be conveyed to the ACs and used to help decide who should be asked to help in future classes.)
Good guys.

I didn't make use of them much, but the guy with the red hair was very helpful on PS6 durring staffed lab hours.

No, they were good.

very helpful - I guess try not to do too much for students but sometimes it seems inevitable - we are often very lost.

The assistants were really helpful at the labs and they never got impatient no matter what questions I had. Their review sessions were helpful as well.

very helpful, prompt

They were knowledgable, but I found a hard time getting their attention away from certain groups and individuals. I have no problem queuing up, but they appeared to have a default recipient of their help. Perhaps the people needed it more.

incredibly helpful - couldn't have done it without them :)

both were very helpful during lab hours

Both were extremely patient and nice and smart! I would give both an A if they received grades.

final meeting was super helpful for ps8. Never really interacted much outside of that.

They were very available and helpful.

I only consulted the ACs for PS8 (probably not the best decision). I went to lab hours on Tuesday and no one was there. Whenever I emailed Dan, however, he quickly responded and gave detailed answers to my questions.

19. Any other suggestions for improving this course?
You're fine. Learned more in CS150 than I did in CS302.

Have the survey to schedule the staffed lab hours a little bit later in the year. I accidentally picked times that didn't work with my schedule, because I wasn't aware of my schedule yet.

More focus on theoretical/conceptual aspect i.e. GEB ideas. (even though programming is useful)


problem sets are incredibly time consuming - not abnormal to spend over 10 hours on them. This seemed like overkill. Also - with the dynamic website at the end of the semester, I spent way too much time learning SQL, Python, and HTML - you can't just say screw it when you're in a group. But, this is the worst time of the semester to spend lots of time learning 3 languages instead of studying for other finals/papers. more guidance for making website

Thanx for all the food!

Better chairs?

Smaller room; more in-class groupwork

"); print ( $res[$first] ) ; print (""); ?>
CS 150: Computer Science
University of Virginia
Using these Materials