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):
- Fastidious: I'm particularly detail oriented, a trait that tends to
correlate with my professional discipline.
- Introverted: Despite appearances in class and my interactions, I need
quiet time to think and recharge my mental batteries.
- 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.