CSE logo University of Washington Computer Science & Engineering
 CSE333 12sp -- Systems Programming
  CSE Home   About Us    Search    Contact Info 

Course Home
 Home
Administration
 Overview
 Course email
 Anonymous feedback
Assignments
 Home Virtual Machines
 Homework Dropbox
 Class GoPost Forum
 Class Gradebook
Schedule
 Schedule
    Anonymous feedback

You can submit anonymous feedback to the instructor and TAs using the following feedback form:

http://www.cs.washington.edu/htbin-post/unrestricted/education/fb.cgi
If you give permission for us to repost your feedback, we'll append it below on this page.



I was wondering if late days were allowed to be used at all on hw3? Thanks!

Submitter checked "permission to post publicly" box: yes

Steve's response: We're in a tight spot, since we have to grade both HW3 and the final exam during exam week. So, we decided that you can use at most one late day: HW3 is due Monday at 9pm, and the last day you can submit it is Tuesday by 9pm. Thanks! --Steve


We had a few anonymous posts about exercise 12:

I usually don't complain about homeworks, but this one is particularly hard. All the folks I've asked so far have been unable to connect to the server. Can we please go over this code in class tomorrow? I am guessing there will be a lot of us with 0 score on this one :P

Submitter checked "permission to post publicly" box: yes


3 days down, i.e. about 9 hours of work, and still not too much progress on this exercise. Am I the only one struggling?

  if (no) {
    please extend deadline till Monday;
    i don't mind submitting the one that goes out tomorrow on Monday too;
  } else {
     i will accept that i am dumb;
  }
  
Submitter checked "permission to post publicly" box: yes

Steve's response: My apologies; I tried to make ex12 a little harder, but it seems I made it too hard. I've made it optional as a bonus question, and we'll go over it in class today.


The few of us who did bad on HW 1/ midterm request you to give us some opportunity for extra credit. It'll boost up our grade, since we are ready for the extra workload :)

Submitter checked "permission to post publicly" box: yes

Steve's response: I like that idea; I'll have some bonus parts to HW3. (Which is slightly delayed; it'll come out on Monday, as it's not quite ready to go out yet. :( )


Can you please please please teach CSE 461 next year? Pleeeeease !!!

Submitter checked "permission to post publicly" box: yes

Steve's response: :) I'll see what I can do, but my guess is that I'll be teaching graduate classes and CSE333 again next year...the department decides the teaching schedule based on needs and which professors are available (vs. away on sabbatical, etc.).


I just wanted to say that while I don't very much like C++ in general (too much bizarre behavior and too many subtleties), I'm at the point where I'm actually productive in it, and I don't have to look things up all the time any more.

It feels good to know a language well enough that you don't get compiler errors on every other line, and ex12 has been the turning point for me with C++. I just wrote/modified a couple hundred lines, and after fixing a few minor compiler errors, it worked first try! I'm excited.

Submitter checked "permission to post publicly" box: yes

Steve's response: That's TERRIFIC! That's exactly the experience I was hoping people would have: to get enough coding and expertise under your belt that you become productive and expert in a language, and are able to tackle large projects without having the language itself be a limiting factor. Nice work; that's great to hear!


From what I understand we aren't using libraries because we are trying to do the work ourselves. The problem I see with this in practice is that a large portion of the code I have "written" I have copied from lecture or quiz section code and just renamed a few variable or changed the interface a bit. It seems silly and I don't see much gained from it.

For example exercise 12 has so far been an exercise in fishing out the right code from my old HWs/exercises and the website. All I've done so far is slap a shiny C++ interface on it and called it my own.

Most people use libraries these days. It could be useful to use/learn libraries for complex tasks, and then save smaller more atomic but novel tasks for learning the systems portion of the class (maybe still in C). I think this would be a good approach because using C++ without libraries just seems like we want all the complexity that C++ brings without any of the payoff we get in return for it.

Not using more powerful C++ features/libraries feels like sitting down to write a C program then using inline assembly in the body of every function.

Submitter checked "permission to post publicly" box: yes

Steve's response: Message received. I've been trying to use the exercises as a way of getting folks to reinforce what we've taught in the lectures themselves, but I can see the issue you're bringing up. I'll try to remedy it in the remaining exercises of the quarter.

Yeah, I haven't been letting you use the more powerful libraries out there, except for boost. I'm not going to change that for the exercises, but for HW3/HW4, I'll see what I can do to give you an opportunity to use higher-level libraries.


Please have homework 3 come out Wednesday!

Submitter checked "permission to post publicly" box: yes

Steve's response: I'll do my best! The HW isn't quite ready for consumption yet, but I'll burn the midnight oil to try to get it out. There's a chance it'll slip 'till Friday, though, given tomorrow is the midterm grading bonanza.


Subject: EVIL IS BACK ON MAY 15TH

A simple suggestion, to the students looking forward to Diablo 3, finish hw3 ahead of time. Additionally, I hope to propose to Professor Gribble that in celebration of Diablo 3's official launch, we won't receive exercises for one or two lectures!

EVIL IS BACK!!EVIL IS BACK!!EVIL IS BACK!!EVIL IS BACK!!EVIL IS BACK!!EVIL IS BACK!!EVIL IS BACK!!EVIL IS BACK!!EVIL IS BACK!!EVIL IS BACK!!EVIL IS BACK!!EVIL IS BACK!!EVIL IS BACK!!EVIL IS BACK!!EVIL IS BACK!!EVIL IS BACK!!

http://us.battle.net/d3/en/

Submitter checked "permission to post publicly" box: yes

Steve's response: Heh, I'm a Halo and Call of Duty fan myself, so the Diablo release isn't on my schedule.

I'll hopefully get HW3 *out* before the deadline, but it definitely doesn't look like it'll be due before the deadline -- that's just too short of a timeline. You'll have to find a way to multiplex, unfortunately! ;)


Do both the partners need to have late days to use one late day on HW 2?

Submitter checked "permission to post publicly" box: yes

Steve's response: Yes, I think to be fair to people who are working solo, if a team-based project is submitted one day late, we will deduct either (a) one late day from each partner, or (b) two late days from one partner, if the other partner has none left. If together the partners do not have two late days, we'll have to deduct some points for late submissions.


Since this friday is the midterm and next thursday is hw 2 deadline, can we not have an ex due this friday and next wednesday?

Submitter checked "permission to post publicly" box: yes

Steve's response: Agreed. Done!


Suppose I am at a standpoint for my first internship, where I have to choose an intern based on Java, another based on C++, would this decision ultimately be based on what my career path will be in the future? (I think both are awesome)

My underlying question is (since this is a Systems Programming class), what kinds of perks/experiences in C++ would I get from such an internship that would carry over to career paths that Java might not provide?

Submitter checked "permission to post publicly" box: yes

Steve's response: Interesting question. First, while the language that you'll be using will certainly affect your experience, I think it's a second-order effect. In my opinion, what's much more important is the nature of the work that you'll be doing, the people you'll be doing it with, and how much you'll be able to learn. Think of an internship as doing two things for you. First, it's a chance to try out a certain style of job or company, to see if it's a good fit for what you love doing. Second, it's a chance for you to impress some people who will later on either try to recruit you or serve as references as you try to land a different job.

To decide between the two internships, I'd look at things like the energy level of the company, how cool you think their products and market is, how smart the people are that you'll be interacting with, and how much you'll be "pushed" to learn tools, languages, and the art of building systems and product. Pick the environment that will challenge you more.

If all of that comes out to a tie, then maybe I'd consider the language issue. :) If it were me, assuming the company has good engineering practices, I'd probably prefer coding in C++ than Java, but that's really a personal choice. The good part of Java is that it makes you more productive; the bad part of Java is that it hides a lot of the lower-level issues, which can make it hard to build robust, high performance systems. So, if you're building an Android app, Java is totally fine. If you're building a high-performance server or storage system, it's probably less fine...

I hope this helps!


I have tried to solve this exercise mystery and have miserably failed. Today after section I realized I am definitely not the only one who is confused about how to proceed on this one. Is it possible for you to go over the networks lecture partially tomorrow and push the deadline of ex 8 to after tomorrow's lecture?

Submitter checked "permission to post publicly" box: yes

Steve's response: Thanks for the head's up. I just sent out an email message with a catalyst quickpoll to try to assess the extent to which people would want this. Stay tuned for the results!


I am almost done with the assignment but have a question. i wanted to come to your office hour today. i don't know how to ask the question in email, and also cant go to james office hour as i have class from 10:30-5:30. if i want to ask you the next time i see you, that will be friday after class, but then my assignment will be turned in 1 day late even though i have already finished it. what to do now?

Submitter checked "permission to post publicly" box: yes

Steve's response: Apologies for that. I've been holed up sick in bed all day, but hope to be back on campus tomorrow. Can you email me directly, and we can set up a time in the AM? Otherwise, in pinch, try emailing any of the TAs to see if they can help out. All three are top-notch.


After working on HW 1 for 3 days, still struggling to finish it. Can you change the due date of ex6 to Friday instead of Wednesday?

Submitter checked "permission to post publicly" box: yes

Steve's response: Good idea. I see that offer and raise you: there will be no exercises handed out on Monday or Wednesday of this week!


(Linked lists) Going over this might have been helpful about a week ago when the assignment was first put out, but I think it wasn't very useful today. I understand that half of us haven't started it, but half of us have, and we've already figured out how the linked list works, and it wasn't a very good use of the time for us.

Submitter checked "permission to post publicly" box: yes

Steve's response: That's useful feedback, thanks. I was a little worried about this, but hoped that even people that have finished the assignment might benefit from it all being carefully drawn out, just to cement home the ideas. (Pointers really are the most non-intuitive part of C programming.) Things should accelerate soon; we're basically at the end of the C material, so everything should be new from here out.


I love your slides! They look absolutely beautiful! What tool did you use? Indesign?

Submitter checked "permission to post publicly" box: yes

Steve's response: thanks!! I like them too. :) I use a UNIX command-line tool called source-highlightto generate the nicely formatted code. That tool takes raw C source files and outputs pretty HTML, and then I just cut and paste that HTML into my Mac Keynote slides.


I understand that you expect us to get 0s on many of the exercises, but that doesn't make it any less frustrating. I don't understand what I did wrong, and so it just feels like I'm being made to play a game without having been told the rules.

I don't understand how this accomplishes more than teaching us how to write good code first, and then expecting us to do it after we've been taught, the way a normal class works.

Instead, we're being forced to guess at why our code has been rejected, and we're expected to adhere to conventions of which we know very little. I feel like my effort is being wasted, and I might as well not do the exercises until several solutions have been posted, so I can get an idea of what, exactly, you mean by "code that makes us smile."

I don't think I have an awful eye for style. I don't think my C code is gorgeous, but I think it's good, and I don't think it's reasonable to make me guess at what your particular definition of gorgeous code is.

Submitter checked "permission to post publicly" box: yes.

Steve's response: I agree -- and thank you for the feedback, this is exactly the kind of information I was hoping to hear and why the anonymous form exists. We're experimenting a bit, both with these exercises and with the sections, so bear with us as we dial them in to something reasonable and effective.

We're going to make a few changes to address these concerns. First, we're changing the grading scheme to something more granular; I'll announce that in class today. Second, we're providing our solutions to the exercises (after they are due), so that you have model to target. Third, Cody is providing a list of common mistakes, so that you can compare your exercise to that list. Fourth, we will (soon) be providing you with a "lint" script that flags some of the more common style guideline errors.

The goal of these exercises is primarily to have you write a lot of great code throughout the quarter, since that's the only way to learn how to write great code.

Keep the feedback coming, and let us know if these changes help. Thanks again.


C! C! C!

C MAKES YOU STRONG!

STRENGTH CRUSHES ENEMIES!

C

Submitter checked "permission to post publicly" box: yes

Steve's response: heck yes it does. Just make sure you never taunt happy-fun-C. You won't like C when it's angry.


CSE logo Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[ comments to gribble ]