About the Course/Instructor

CSC 161 - Imperative Problem Solving and Data Structures - Weinman

1  About the Course

Q
Will we learn about efficiency & big-O notation?
A
We will not formalize our study of efficiency, though we will certainly keep it in mind as we discuss linear structures (arrays, lists, stacks, queues). These topics are more thoroughly discussed in CSC 207 and CSC 301.
Q
Will we work on programs not for scribbler robots?
A
Yes. (And I hope you might even find some of them compelling.)
Q
How hard is to get an A in your class?
A
The annoying answer is "it depends." My hope is that the rubrics and expectations are fairly clear from the beginning. My goal is that you'll know what you need to know or be able to do for every assessment. The "depends" part is based on how much effort it takes each individual to master those skills.
Everyone can do it, however. As an example, I started riding a bike with training wheels; once those wheels came off (perhaps age six), I likely accumulated a few skinned knees during my practice. However, my son started "riding" a bike without pedals (sometimes called a strider or balance bike) when he was two, and for two years he learned to push with his feet and gain balance. When he got a pedal bike last week, he took off riding the very first time like he was an old pro. He and I both learned to ride in our own time, but it seemed "natural" to him because he'd had so much more background preparation.
Learning computational thinking is like that. How much effort it takes depends in part on how much you practice all the supporting skills.
Q
Will we have the same partners for projects and labs?
A
Within the same module, yes. Once the new module starts, we will switch partners.
Q
Will the Exams ask for us to write extensive lines of code and if so, how will it be graded?
A
The exams will ask you to write short sequences or complete functions to a given specification. They are typically assessed by how many elements of a correct efficient solution are present, and less about whether you matched all the parentheses or braces correctly (assuming you formatted the code well-enough that I can understand your intent).
Q
Are the exams open note like in CSC 151?
A
No. Though references for the robot library will be provided when necessary.
Q
Under citing sources, the instructions say to include textbook(s), CSC 161 labs or readings; ... use complete citations for Web or other written sources. Does this mean that we do *not* need to use a full citation when citing our textbook/course materials?
A
That's correct. The principles at play here are to cite in order to acknowledge intellectual origin and allow your reader (the instructor, grader, yourself and your partner) to follow the reference. So long as you clearly name the lab (and perhaps give the URL for ease of click-through) or cite the book with a page number, we can do that easily enough. External resources require a bit more reflection on the reader's part and therefore warrant more information.
Q
Will we see an example of a completed references, code, and commentary file? I think having a finished product to use as an exemplar can help guide good formatting/submitting.
A
I agree that exemplar are convenient, but there's typically enough variation in materials that it can sometimes be problematic. With no standardized citation format in the computing discipilne (i.e., like MLA or APA), I look for the author/organization, title of the work, and enough additonal information to find the work myself (e.g., URL, publication date, etc.).
Q
how many (at most) extra credit points are necessary to move a grade up one bracket?
A
I cannot answer that question directly, but it is computational so I can direct you how to proceed yourself. The grade brackets and relative weighting scheme can be found in the syllabus. In addition, there are a total of 110 homework points available (some have built-in extra credit opportunities, too). You can count the total number of labs (days of class less exams and project days). Not all these days will have labs or lab exercises due, but it will give you an upper bound on the number of point required.
Q
can I use my Mac/iphone in the class just for look up a word or search some background information? I am not a native English speaker so sometimes I need help from dictionary/google.
A
That seems reasonable. However, if you're working in lab, it might be polite to inquire of your partner first. After all, there will be many concepts or phrases that may be somewhat new and foreign to many in the class. It's good to get in the habit of discussing them, rather than assuming it's your own shortcomings. Moreover, giving your partner the chance to explain something helps them learn better and keeps you both focused on the same subtask.
While I try to avoid concepts that are too idiomatic for non-native speakers, I encourage you to raise your hand and ask me if I use a phrase you don't understand. With a class population from around the globe, chances are very good you're not alone. Asking helps your classmates, too. (And it helps me know when I've said something unclear.)
Q
Can I come to the office hours about things that are not really course-relevant but still computer-science-related? (for examples, research projects, major, opportunities working in computer science, etc.)
A
Yes! That's certainly academics.
Q
Do you suggest me to learn some other programming languages by myself?
A
Once you have learned all three paradigms, it is relatively straightforward (if occasionally tedious) to teach yourself new languages. If you do not plan to complete 207, then the answer would depend on what you aim to achieve. Python is increasingly popular, versatile, and seems to have a reasonably slow learning curve yet with a lot of Python-esque idioms you can learn for increasing proficiency.
Q
What habits have you noticed amongst students you would consider successful in your course that is shared amongst them and separates them from other students and how do you define that success ?
A
Whoah, that's a great, deep question. To answer the last question first, success is not necessarily simply getting an A in the course, but being able make connectiongs amongst the concepts and between them and the other things you learn (outside of CS). It's also about how much you develop during the course, not only in your technical proficiency, but as a person (learning to solve problems and work collaboratively are sophisticated skills!) These students ask questions, tend to be highly organized, practice discipline (both in terms of things like time management, but also in approaching tasks like debugging). They also take responsibility for their learning, internalizing each day/week/modules' topics by deep collaboration. I'm happy to go on, but those are a few initial bits to consider.
Q
Which computers in Noyce run Linux?
A
All the classrooms on Noyce 3 run Linux (several are dual boot, so if you find one in windows, just restart it). In addition, the Math/Statistics open lab SCI 2401 and the basement physics lab SCI 0208 belong to the MathLAN.

2  About Me

Q
I see that you taught abroad in Barcelona. What was your overall experience with the Spanish University system? I speak Spanish fairly well and am considering study abroad opportunities for next year.
A
Since I was at an "autonomous" university, I'm not sure how representative it would be. Moreover, I didn't actually teach, I was a visiting researcher. Nevertheless, I found the European higher-ed experience fascinating; their educational tracks are very professionally-oriented and not at all a liberal arts education. I would be happy to help vet programs (beyond those we promote) that may have accessible CS content. However, if you are pursuing a foreign language, our CS curriculum is flexible enough to let you go one semester without taking a CS class, allowing you to experience the most suitable off-campus study (OCS) for your educational goals.
Q
What is your favorite course to teach at Grinnell?
A
That's a tough one, because I enjoy different things about each course I teach. (And my wife will tell you I don't do favorites well for anything.) Nevertheless, perhaps CSC 261 Artificial Intelligence, because students write in a reading journal as one of the learning activities. I learn so much about everyone in the class that way; it's very enjoyable for me.
Q
Do you like cats?
A
Frankly, I'm not really a cat person. I generally tolerate (sometimes even like) other people's cats (my neighbor's are especially friendly and wander into my yard to play with my kids). However, I have no interest in caring for one.
Q
Just curious, but what did you do while you were on leave last year?
A
I was a visiting researcher at the Computer Vision Center (a unit of the CS School) of the Autonomous University of Barcelona. While there, I worked on a system described in this paper I will present in Kyoto, Japan later this November. (Sorry, I'll be missing class!) I also worked to learn a new machine learning framework and shared the results of my efforts. My family and I traveled to visit several off-campus study sites for CS students, which I'll talk about later this semester in a Thursday Extra.
Q
Did you always want to be a computer scientist from the beginning?
Q
What interest you in computer science? In other words, how did you get into this field?
A
I would say I enjoyed computing from the moment I learned about it (one element of an 8th grade summer camp), but I'm not sure when I decided to be a computer scientist. I did recently find one journal from within a year or two of that experience predicting I would be an entrepreneur running my own technology company (i.e., a computer repair shop). However, my interests and activities varied throughout my education (in high schoool I played in bands-both concert and rock-competed in debate, and performed in plays and musicals ). I guess I always knew I wanted to engage in the liberal arts!
I love the orderly nature of computing (even though computing systems have chaotic emergent behaviors, interesting in their own right), but I also love engaging in abstract thinking. Perhaps my favorite crystallizing experiences are when you're working to solve a problem and you finally get it right. (Cue the happy dance!)
Q
And how do you see the combination of music and computer science?
A
Lovely. As an example, I've always been devoted to the music of Bach, whose work often echoes computational elements.
Q
how long did you live in Nebraska for?
A
Born and raised, until I left for college.
Q
One question I had for you was what was your favorite place to eat while you were a student at UMass Amherst?
A
Hands down, it was a place called Amber Waves, offering wholesome, delicious, fast, and cheap Thai food. Sadly, they closed after my second year in town. It's really hard to choose, but I suppose my current favorite may be a tie between Bueno Y Sano (burritos) and Antonio's (Pizza).
Q
What do you like most about Grinnell?
A
That the City has the same name as the College. Let me answer assuming you meant the former. I like that there is an active community arts scene (theater, music, etc.) and a desire for local offerings, whether it's small businesses, food production, or just connecting. I also like that as my kids grow, they can do a lot independently. Growing up in a similarly sized small town, I appreciated that a great deal.
Q
Can you describe yourself in 3 adjectives please?
A
Wow, you ask the tough questions, don't you. Let me try (with some help from my wife):
  1. Fastidious: I'm particularly detail oriented, a trait that tends to correlate with my professional discipline.
  2. Introverted: Despite appearances in class and my interactions, I need quiet time to think and recharge my mental batteries.
  3. Concerned: I have a deep love for my family, my colleagues, and my students.
Q
What are three bands you listened to as a teenager?
A
Let's see, framing it to high school, before I my horizons were further broadened in college, I'd list Offspring, Sex Pistols, and Rancid among the most frequent. (Though Nirvana would have to be a long-standing, frequent fourth.)
Q
Will we learn anything about your research and expertise during the semester?
A
You will do an assignment relating to one area (image processing), that I hope will be interesting. Other than that, you'll just have to ask me!
Q
What s your favorite time of the year in Grinnell and why?
A
Hmm.. again. Tough with the favorites. I love spring after a dark winter. Both flora and fauna seem to bud, coming alive again with the promised relief and nourishment of summer.
Q
How did you end up at Grinnell?
A
They were hiring. ... Ok, a less sarcastic answer. They were indeed hiring, and much earlier than most others. It was a perfect location (being from Nebraska, and my wife's family is from Minneapolis), and I love the down-to-earth nature of Grinnellians.
Q
What is your favorite part of being a professor?
A
Getting the opportunity to harness the curiosity and energy of young adults, by equipping them with powerful skills and a proper sense of responsibility for their work before turning them loose to do amazing things in the world.