About the Course/Instructor
CSC 161 - Imperative Problem Solving and Data Structures - Weinman
1 About the Course
- Q
- How do we access the lecture`s recording? Will that only be
available for absent students? (or anyone who is willing to review
the work in class), and then navigate down to "Recordings".
- A
- Recorded class sessions are available in Blackboard, Collaborate,
click the menu hamburger at the top, to the left of "Sessions".
Anyone who can access this course can view them.
- Q
- Am I correct in assuming that the reading listed for a certain
date is to be completed before that day s class?
- A
- Yes.
- Q
- Just to make sure I understand the deadlines correctly. PAs
are due before class but on the zyBook Assignment
panel, all four PAs this week are not due until this Friday, 8 am,
CST, right? Same as CAs? All four CAs are highly recommended to be
submitted before the next class, but on the panel, all four CAs this
week are not due before next Monday?
- A
- That's right. You have a little bit of flexibility, plus it's
far too much effort for me (and you) to worry about concrete deadlines
for each day of class. (That's especially reasonable for CAs, as you
may in some limited circumstances have time in the next class
period to continue working on them. However, you definitely
should do the reading and PAs before class, otherwise there's not
much point in coming to do the CAs.)
- Q
- Do you have any particular format by which you like citations
in programs?
- Q
- What is the correct way to cite someone for code you used?
- A
- See Syllabus, Section 8. "No specific ..." under bullet
4.
- Q
- Can you test/compile code in the LAs without submitting?
- A
- Yes! Absolutely and highly recommended!
- Q
- Can you redo LAs before the deadline if the computer or automated
grading flags something as wrong?
- Q
- Is there any chance to make up points after an assignment is
turned in and graded?
- A
- Yes, you can submit these as many times as you like. You can
keep submitting even after the deadline, but only the work from before
the deadline will be counted. (Unless I add a later deadline for some
reason.)
- Q
- What are hours of peer tutors this term?
- A
- See Syllabus, Section 9.1. Peer educators.
- Q
- One question that I have for now is when to complete certain
LA's. The syllabus says that I should start them as soon as I am able,
but how will I know that is the case? I'm assuming that if I read
section 1.1 then I should be able to complete LA 1.13, correct? I
just wanted to see if the numbers for the LA's matched up with the
content of the readings.
- A
- This is a good and very fair question! The system isn't perfect.
While the LAs are tied to specific weeks, they aren't perfectly tied
to the particular topics we have discussed on a particular day. They
are, however, tied to a chapter, so if we've finished the chapter,
you should definitely be able to tackle the LA. Feel free to ask if
you ever have questions or are unsure about it.
- Q
- Will there be a midterm assessment or a final assessment?
- A
- No. While I'm convinced (by scientific research) that testing
aids learning, I've not found a satisfactory or equitable way to accomplish
this via remote instruction.
- Q
- For clarification, are we allowed to work on PAs with our peers?
I didn't find anywhere in the syllabus that explicitly stated that
we could or couldn't work with others for PAs.
- A
- Yes! That's totally fine. It's not necessary, or even expected.
Best practice is probably to read and think through things on your
own. If you answer wrong, the textbook will offer you an explanation.
If you come up short, dialogue with your peers (or the CS Peer Educator
staff) is totally welcome. It's not forbidden to ask questions before
you answer, but I worry you'll learn less from doing so.
- Q
- CAs, how do we give credit to the people we work in during
class?
- A
- This is a great question. Our system isn't perfect. Many of
your CAs are very short and embedded within the section(s) of the
text for that day. I suppose I should create a bright line here, so
let it be this: if you are working with your assigned lab partner
and complete a CA during class, you do not need to give explicit credit,
as it will be assumed the work was collaborative. (Though if you want
to keep in the habit, you can certainly put a comment in your source
code.) However, outside of class if you work with anyone (even if
it was your class partner for the day, you will be required
to give attribution. See the penultimate bullet of Section 8 for a
guide.
- Q
- Should I do the extra non-required reading (like 1.6-1.12)?
- A
- These examples are there for your own edification, so when
they're not listed as optional, they're recommended, but not required.
If they are listed as optional, they really are that. It's the extra
stuff in the textbook we won't be covering, but I didn't have any
reason to hide it from you.
- Q
- Do you have extra credit activities for the class?
- A
- No, I generally find extra credit opportunities are not available
equitably, and equity is something I care deeply about. (So please
let me know if you ever have any concerns in this regard!) I instead
prefer to focus on the learning goals of the course and let your grade
be based on meeting those alone.
- Q
- Just as a hypothetical, would it be possible to go to graduate
school in CS as a math major? Is it weird to do such a thing?
- A
- Yes, that's definitely possible. (I know of one doing it right
now.) You do have to have a fair bit of CS background, though, and
should plan to make up a deficient course or two.
- Q
- How difficult are the LAs? I remember being incredibly stressed
out at the end of the term in CSC-151 from the Demos because the final
demo was incredibly challenging.
- A
- We're using the "many small programs" approach. So each
LA is designed to focus on just one or two things. The very last LAs
may be a little bit more comprehensive.
- Q
- I was wondering if the content that we learn in this class
would also help us better navigate coding languages we already know.
- A
- Absolutely. Having a lower-level perspective can help you understand
why languages behave the way they do.
- Q
- Is there a way to practice coding outside of zyBooks? (an app
similar to DrRacket but applicable to this language that we can use?)
- A
- Yes. You can program C in any text editor and compile it in
just about any environment. I haven't set up a tutorial for this because
it's not a planned part of the course, but the web is full of resources.
Because C is so heavily tied to the specifics of a machine, you don't
usually find web apps, but repl.it is one online tool I have
heard reasonably good things about.
- Q
- In the scenario that we are not able to understand a certain
concept or assignment and have asked for help before the deadline.
If the deadline eventually passes before we can fully understand concept/or
question, will we still not be able to submit the assignment past
the deadline?
- A
- That's correct. You need to plan to work ahead. I have office
hours nearly every week day, and the evening tutors are available
(for general help in C) every day but Friday and Saturday. Together
we should have you covered!
- Q
- Is it possible for students in the same or nearby timezone
to work with each other more often?
- A
- There is no required collaborative work other than what transpires
during class. If you want to collaborate on CAs outside of class,
you are welcome to do that with whomever you wish.
- Q
- Is it possible having another office hour for Asian time zones?
- A
- The class meeting at 8 am is our department's best effort at
making the course accessible to those in Asian time zones. Unfortunately,
this also means the most likely office hour is also taken; there aren't
any other viable alternatives (i.e., due to the instructor's personal
and family obligations). The 10 am office hour is intended to help
as best as possible. I am sorry it's the unfortunate consequence of
a globally situated roster meeting virtually.
2 About Me
- Q
- I do not have questions that explicitly pertain to the course,
but on a more personal level why you got into computer science?
- A
- Tl;dr I learned about BASIC at a middle school summer camp.
I got hooked on controlling the computer, this infinitely flexible
tool. From there, I never looked back. But I was so fortunate that
I had access. Access to summer camp. Access to folks who could
make such an introduction. Access to courses in my high school. (The
list goe son.) I recognize my tremendous privilege in that access,
and wish everyone had the same opportunities I did. Even if not everyone
wants to program or learn what computing can do, I long for the day
everyone has the chance to.
- Q
- Were there any fields of computer science that you thought
you would like, but didn't?
- A
- Hrm. No one has asked that yet! Interesting. First I was going
to say no, and then I thought, well, even the stuff I didn't find
interesting at first have become more interesting as I learn more
(and can make connections to them). But, I will say that perhaps computer
networks still haven't been all that gripping for me.
- Q
- What tips you received have been the biggest help to you during
your CS career?
- A
- One of my favorite course experiences was "Research Methods
in Computer Science". Because we're taught the discipline largely
as one of software engineering or abstraction (as in theory), and
not like natural sciences, with an empirical/experimental component,
this class gave me a lot of insight about how to structure a research
program.
- Q
- What is your favorite programming language?
- A
- I don't harbor some secret love for a particular, esoteric
language. My favorite language is the one that's best for the job.
These days, I'm writing a lot of Python, and I think it's mostly developed
fairly nicely (though I am not a PL [programming languages] guy),
except I hate the use of whitespace to delimit blocks, and would much
prefer punctuation (even though this is essentially redundant, since
good style demands you use whitespace to suggest the block structure).
- Q
- This is more of a personal question, but how many classes in
CS do students usually take before landing on any tech internship?
- A
- I'm not sure, and it really depends. Some times 1. Sometimes
2. Sometimes 3. I recommend you meet with the STEM Community Director
of the CLS Office for some strategic planning and advice.
- Q
- What does your research focus on?
- A
- My research area is computer vision. Recently, I've been applying
that to integrating various information sources to "read" old
maps. You yourself can read more about my projects here: https://weinman.cs.grinnell.edu/research