Friday, June 7, 2013

Everything Has Changed

cute.



Now I am thinking about not doing commerce anymore again. I'll probably end up keeping it, just because I might as well.

Hmm.

I am starting to think that programming is like one of those things that you can either do, or you can't unless you spend a lot lot lot lot lot of time on it, and if you do that it's kind of a waste considering you aren't dedicating yourself to what you are naturally good at.

Or maybe everyone can do it, but most people are really lazy.

Somewhere in between, I guess.


Our prac exam was on wednesday. We came in a couple of minutes late. And then it took a couple of minutes to figure out what I was meant to do and read instructions. And then I didn't start for a couple of minutes because the guy was still talking.

Then I finished it really quickly and asked the guy if I could go. But you aren't allowed to leave until 11:40. And I was like "serious?"
tt

so I just sat there for a while, I think it was 11:16 or something. He suggested I could make my code more beautiful so I did that, and then wrote some stuff, kind of like a blog that no one would ever read, and then I drew the mandelbrot set in asterisks.

I wish I had a copy of my program so I could copy it here, because it was a pretty good mandelbrot set.

And then I was allowed to leave at about 11:45.


But what made me wonder was, a lot of people just couldn't do it.





Here is some information about how the computing exam works:

1. A monkey could get 22/100. Anyone who had not studied computing at all could get 22/100 if they were just randomly given the paper.
2. Some people have managed to get less than that.


So pretty much, when you mark exam papers, it's really hard to get it done on time.

If you stopped going outside, stopped seeing your family, stopped eating, stopped sleeping, stopped everything except just marking, you would be able to mark all of the papers and be a day late.

So when you're a marker and you've been marking for the last 10 hours and it's 4AM and the walls are singing to you, the last thing you want is someone to have written in pencil. You're trying to hold it under the line, squinting, trying to read it. And you do your best, but it's really really annoying. Or when someone writes all of their answers in a booklet instead of separate questions for each booklet, and you have to spent 10 hours organising with other food and sleep deprived markers to pass the booklets to each other, it's really really annoying.

But our lecturer really understands students. He's been at uni for so long, both as a lecturer and as a student.

If you come to an exam with only a pencil, and you realise that you were meant to bring pen, what do you do? You don't write nothing, you just do it in pencil anyway.

And if you've written all of your answers in one booklet and you realise oh oops I was meant to start a new one, what do you do? You don't start copying your booklet out into a new one, you just think, hey whatever, and keep on writing.

And there's a question worth 8 marks. "What is violating abstraction? discuss". If you don't know the answer to the question, you start writing "plausible rubbish". Waffling. You just stick in as many words as you think is related to the question and write it all down. And as a marker you're holding the paper up and scratching your head because you can't figure out whether this student actually knows what he's talking about, or is writing plausible rubbish. And you waste so much time on it, and in the end they're like "okay..... 1".
And that 1 is called a "sympathy mark".


The problem is, the markers' and students' goals don't align. Markers just want to mark as fast as possible. Students want to get as many marks as possible. So they figured out a way to make it easier for everyone. As problem solvers, finding a way to make the goals match.

Now, you get 2 marks for following all the instructions. Writing in pen, writing in the proper booklet. And also, if you have no idea how to answer a question, just write "sympathy mark please", and you will get the 1.

And if you write plausible rubbish anyway? Now the markers won't give you that sympathy mark, and will give you a 0 for it instead. And furthermore, you lose 2 marks for not following the instructions of just asking for a sympathy mark if you don't know.

So a monkey could turn up to the exam and just write 1 for every question, and that's 22 marks!


And there are 3 parts to the exam. A B and C are normal. and then there's D. So (I'm not sure about all of this), but A B C will add up to probably 100. And D will be worth very little (I think I saw a past paper before, and there are 3 sections in D. You can only attempt one of them. 1st one is worth 2 marks, 2nd is worth 4 marks, 3rd is worth 8 marks. And if you don't get half marks for the one you attempt, you get 0 marks. So if you get 3/8 marks for your effort on the hard problem, you get 0 for part D.


Because what he really cares about is the border between HD and D, and the border between pass and fail. He doesn't really care about anything between that.
So the purpose of part D is to set the HD students apart from the rest.
"Please, please, do not even look at part D. I'm hoping that most of you will get to the end and look at part D and think "... nope!" and go back and check your answers for the first 3 parts".
He has always been strongly encouraging us not to get a HD, because that's really really bad. Do something better with your time, go and enjoy life.

And one of the tutors got like 11/100 or something for their exam because they was all like 'challenge accepted' and worked on part D, and managed to get like half of it.


As for the border between pass and fail. What he will do is he will find that border, and look at students. Look through their submissions to activities, their exams, their openlearning blog, everything about them. And he will make a decision about whether that student deserves to pass or not. If they do, highlight their name and go to the next student.

And he will do that, and then the last person who deserves a pass will set the border. Everyone above and including them passes. Yes, that includes the people he deemed not worthy to pass as well, because they got an equal or better mark.

"it's called a type 1 and type 2 error. You're going to try and minimise one or the other". He would rather have everyone who deserves to pass pass, even if that means some people who don't deserve to pass pass as well. The alternative is to have everyone who deserves to fail fail, and some people who deserve to pass will fail as well.


 
the majority of people failed the practical exam. But it's okay, that was the practise practical exam. The real prac exam is meant to be on the same date as our theory exam. But the people who pass the practise practical exam don't have to do the real prac exam because they've already shown they can program. The question will be on the same topic in the real prac exam anyway. And the people that fail the real prac exam, if they've shown that they have been putting in a genuine effort into computing and passing everything else, they can have another shot at the prac exam after. A supplimentary one, I think it's called. And if they fail that one? They can have another shot.

The idea is, anyone who is able to program link lists will not be failing the prac exam. If you can do it, they will keep letting you try until you get it. So don't get stressed about it.





I don't know if it's evident, but computing is really really cool.

I wrote all of this because I didn't want to go to sleep, and I can afford to stay up later because no 9am start tomorrow, like before.

...
...
...



3
This page is under:   Daniel Li's Profile Page » Blog

Blog and Reflect on COMP1917 - Computing 1

I was reading on openlearning and a thought occurred to me...

Today was our last proper lecture and tutorial. Really?
...
Yes... I guess it was.
I was thinking the other day, huh, it only seemed like yesterday we were doing the mandelbrot assignment. 6 weeks pass pretty quickly.
Hm. I guess this is it. Kind of like the last day of school, with the HSC looming in the near future. The comp1917 equivalent of that.
...

I have loved Computing1. Absolutely loved it. It has really been so awesome. Awesome beyond words, or at least awesome beyond my capability of using words. I can't emphasise how much I have enjoyed every moment of this, from the very start.

I remember in high school I didn't really know what I wanted to do in uni. I actually had no idea, and for a long time I couldn't be bothered to think about it. Some of my friends, most notably Davy Mao who ran a programming club at our school, were going to do Computer Science, and I thought yeah programming sounds pretty fun, I've played around with code in the past, maybe I'll do that. (check out this flash game I made using other people's code in year 10! (and edited in year 12) (actually don't it's a huge waste of time))

Anyway ... I ended up going to UNSW open day and attending the talk for computer science. Actually, I think that was session was split between computing and some kind of renewable energy engineering ... I can't remember much about the latter, except it was something like "renewable energy is good and you should study it".

But the computing part of it was a little different. The guy talking about that happened to be Richard Buckland, and I remember he didn't talk much about the specifics of doing computing at all. In fact, for probably more than half of it, he wasn't even talking about computing. He was talking about our future.

He told us how great it was that we were all so interested in our future, and coming to the open day so we would be able to make informed decisions regarding our course (meanwhile I am thinking "yeah... that's not really me, I am probably going to do this because my friends are and it sounds alright"). I thought I kept a log regarding my thoughts on what he had said, but it turns out I didn't. But I can still remember the rest of it vaguely. I feel kind of bad relaying it because I know I won't be able to do his words justice. So imagine what I am recounting, except it is coherant, logical, and thought provoking.

When he got married, he and his partner spent so long planning the wedding. Months. Agonising over every single little detail, just because they wanted it to be perfect. And then the day of the wedding came, and there was a wedding, and it was great! Okay! ... now what? He spent so long planning about this one day, but he neglected considering questions like "What direction is our life going to go after we are married? How am I going to be a good husband?".

And then he was going to be a father! And they spent so long planning for the childbirth. Months. Agonising over every single little detail and possibility, just to make sure everything went alright. And then the day of the childbirth came, and then he was a father, and it was great! Okay! ... now what? He spent so long planning about this one day, but he neglected the future after that, and thinking about how he would be a good father.

And the point of that was, the HSC is just like that. You spend so long studying, working hard, it's all you think about, I NEED A HIGH ATAR, 99.95 IS NOT ENOUGH. But that's silly! Abstract out a bit and think about the purpose of the HSC. What is it for? Maybe a little sense of accomplishment, but really, it's just to get into uni. And that's why it was so great that we came to UNSW open day, because it showed that we were thinking and planning about life after the HSC.
And I remember him saying something like "my daughter asked me 'Dad, why do you sound angry all of the time'". Can't remember what that was for though ...
Wait did any of this actually happen, maybe I went crazy because of the HSC and remembered things that never happened. ... ... I think this isn't imagined ...

So anyway, I don't really know how I ended up talking about that. Afterwards, if my memory is reliable, I got up and left and thought "hm, that was pretty cool I guess. Yeah, computer science seems alright, I guess I will end up doing that. kk cool, I should go find my friends who are going around looking for free stuff".

But I also remember thinking about how it was really awesome that he spent so long not talking about the specifics of what we will learn in the course, but where we are in life as year 12 high school students, and our future. And this has been consistent in Computing 1. It's been about so much more than C. It's been about being a person. It's been about being an awesome person, and getting programs to tell you that you're awesome.

"You may have even had some thoughts about the important but too hard questions like what sort of life you want to live and what sort of person you want to be.  And what you will tell your child that day you take them into the city to see a marching band."
 
Funnily enough, in the end, I never really decided I wanted to do computer science. I just ended up doing it because I didn't mind it and it seemed alright, not because I really really wanted to do it. And I chose it as a double with commerce because I might as well.

But in this first semester, that's changed. Now I actually really really like programming and solving problems and being a person that I can be proud of. Now I know that I chose the right thing, luckily. and commerce is ok i guess i dont mind doing that

So there is still that question "What do I want to be when I grow up?" (I need to rewatch that lecture that mentioned the marching band, I can't remember exactly what the story was, but I know it involved this question).

I guess I don't really know for sure career-wise, although something involving programming is looking very promising.

But I do know the sort of life I want to live and the kind of person I want to be. I want to live a fulfilled and inspired life. I want to be someone who will "do the right stuff". I can't remember exactly what the saying was, but I want to be someone who does that. I want to be someone who can look back and think "I am proud of myself".

I don't know exactly how I will go about doing this. I don't have some set direction or pointer I am following. I guess it will just come out through how I am every day.
(aha, I have found the marching band quote, it's in the 0th lecture at about 8:50)

This course has made me competent at programming in C. Maybe I'm not an expert yet, but this is a step towards it. But more importantly than that, this course has taught me about how programming really works. The key concepts, like how machine code really works, memory, functions, abstraction. But more importantly than that, this course has taught me what it really means to be a programmer. Why teamwork and craftsmanship is so important, problem solving, perseverance, dedication. Friendship and helping others. I guess some of these overlap with being a good person. Maybe there is that link between being a good person and a good programmer.

The biggest thing I have gained from this course has been finding something that I really want to do. Something that I really have a passion for. In school I really liked maths and latin. But regardless of how much I enjoyed those subjects, I still considered it as "work". Computing has superseded those. When I did activities or assignments, the main driving force behind it wasn't because I needed to and I had to do it before the deadline. It was because I really really wanted to do them. Or maybe it was something to do with the alure of filling in that green bar, something to do with the illusion that it was possible. Although it is possible, because writing this blog + the one about professionalism and ethics + commenting on others' blogs will be my last task!

I like to classify different types of motivation under 3 types: positive, negative, and "money".
Positive motivation: You want to do something to help or impress someone else, or to improve upon yourself, whatever, because you actually want to do it.
Negative motivation: If you don't do this these are the reprecussions, people will be angry and disappointed in you, you will have these punishments, whatever, you have to do it because otherwise bad things happen for you.
Money motivation: You want to do something you normally wouldn't want to do because you get some reward for it.

And really, what I am trying to say is that a lot of the education I have been through has been driven by negative motivation. Pressure that I'll fail. Pressure from competing with my peers and not wanting to fall behind. Pressure from my parents (although they are actually really compassionate, I still don't want to fail their expectations). Pressure from myself, because I know that I will be wasting my potential.
Computing has filled me with positive motivation.
Although it's a bit sad that this is ending, the end of this is the beginning of something else. And I'm really excited for that something.


I'm really grateful for all of this.
I want to thank Richard for being an incredible inspiration and an absolute legend. The amount of care and understanding he has shown for all of us has been amazing, whether it has been encouragement and support on openlearning or real life in lectures. Today he visited labs during the prac exam to see how people were going, like a gardener watching his flowers grow. ... one day I will be good at similes.
I want to thank Chris, my tutor, and my tutorial class just for being really awesome. You would expect finishing at 9pm on Wednesdays to be horrible. But you would be wrong, because it was actually the funnest part of the week.
I want to thank my computing friends for being there when I needed help or wanted to discuss programming or activities. Or when I just wanted to share something really cool.
And I want to thank everyone in this cohort. Everyone using openlearning. For just being here and making it such a great community, whether by posting something funny or making my day by liking my comments. It's been incredibly motivating to know that others are taking the same journey as me.
Thanks everyone, for making this the best beginning to computing that I could ever hope for.

C most of you in 1927?

No comments:

(Thanks, Harvard)