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