(edit... more accurately the whole RIFFWAVE function blows my mind)
Really quite revolutionary (in terms of my understanding)... I already knew about making JPEGS etc, so this makes perfect sense but just seeing him build all the headers for a wav file in memory then "spit it out" to the page is stunning.
yeah - that was way too small for me. I had to zoom a lot. For a small project like this it's sort of a "who cares" decision, but I'd hate for that size to be a design "norm".
There are two sides to that story. There's quite a bit going on that has been left out. England's school system really doesn't work in a way that teachers can just hand out whatever grade a student "deserves".
The kid was handed a syllabus, a marking scheme and told "if you do this you'll get an A". He threw out the mark scheme and did his own thing.
He then tried to get an A for doing whatever the hell he wanted.
I applaud him for pursuing his own interests and taking charge of his own learning - I really do - but the system doesn't allow for that.
You don't hand in creative writing and expect to get a math credit. You don't hand in physics to your chemistry teacher.
I wish the system in England were different. Maybe I'd still be teaching there if it were, but you're casting a lot of aspersion and judgement on a subject that you don't seem to know much about.
The brief is just that. The mark scheme undoubtedly suggests a more restrictive approach into how you produce a project in line with that brief.
It's like listening to the first sentence your client utters ("I want a program to calculate my expenses...") and then creating Excel when all they wanted was a calculator. For better or worse, it's not about doing whatever you like, and hiding behind the brief when there was a more detailed set of specs is immature.
You are assuming that there was a more detailed spec. that asked for something different to what he did. There's no indication of that in the article, you're just inventing things to prop up your argument.
I'm assuming? I did the same course that student did. The curriculum hasn't changed towards 'we won't tell you what you need to score the marks' - quite the opposite. It was like this 6 years ago and it was like this a years ago when my coworker showed me his mark scheme for a similar curriculum-mandated ICT project.
> There's no indication of that in the article
Because if there was, it would severely weaken his whole 'I'm surrounded by idiots' argument, wouldn't it? Good for the kid for making a cool app, but he has to learn that you don't get judged on your merits but by how successfully you complete your task.
Have you had any experience with GCSE ICT? As far as I am concerned, there is one person making judgments with less information and that person is you. Let's not forget you are seeing one side of the story - don't be so foolish and pretend it's the whole truth.
You can even view the mark schemes online! Here is but one exam board that does this:
It's amazing how I am ignorantly downvoted for something that is common knowledge among schoolchidren, seeing as they are given a mark scheme for every piece of coursework in every subject they take. I can only assume these people aren't from the UK...
> The curriculum hasn't changed towards 'we won't tell you what you need to score the marks'
I never said it did. It's perfectly possible to have a spec. that allows for more than one type of implementation. This is schoolwork, not NASA. The aim is to show that they understand the concepts and can produce results. Exact requirements aren't necessary for that.
From the spec. on the site you linked to - it seems Unit 4: Creating Digital Products is the relevant unit:
> > They can choose what sort of product to design and make, but it must include an appropriate user interface and user input must determine the outputs that are produced.
It seems to me there's a lot of freedom for students to choose implementation platform and language. While your school in particular might have been more specific in what you should build (and really, given the limitations of teacher knowledge, that makes sense), it doesn't follow that his must have been similarly restrictive. Unless you were literally in the same class as him, you aren't in a position to know what was asked of him, and your assumptions directly contradict the article.
> > There's no indication of that in the article
> Because if there was, it would severely weaken his whole 'I'm surrounded by idiots' argument, wouldn't it?
My point is that without further information, you aren't in a position to say that he ignored the spec. The article's direct statements trump your assumptions.
> As far as I am concerned, there is one person making judgments with less information and that person is you.
The only thing I have stated in my comments thus far relates to what is directly stated in the article and what you are saying. I'm not making assumptions, all I'm doing is pointing out you are doing so.
Right, first off, you are citing the brief and claiming that this is the basis on which people are marked. This is the very mistake I stated in the grandparent post and that you are making again. Stop claiming I am making 'assumptions' when you obviously have no clue as to the facts. The mark scheme is found under the 'Detailed unit content' section and that specifies a lot of things you need to do in addition to simply 'making a product'.
> without further information, you aren't in a position to say that he ignored the spec
So if you read between the lines in the student's statement, where in this did he say he did anything other than write some code? And you're accusing me of making assumptions?
> The article's direct statements trump your assumptions.
So find me the statements which show he actually did all the legwork you are required in the class. You are completely wrong here.
> From the spec. on the site you linked to - it seems Unit 4: Creating Digital Products is the relevant unit
It's not in fact the relevant unit, as there are several exam boards he could have used. That was given as an example (was in fact my coworker's unit). The brief actually matches OCR's ICT course (section 2.4):
Note how there is no requirement as to how to implement it. But also note how there is no requirement for candidates to show their code, even!
The student says:
> I argued the case and managed to scrape a pass by teaching him the basics of Objective-C from scratch and by commenting every single line of code I wrote to explain exactly what it did and how it did it (all 3,400 lines, including standard libraries I used) which ended up being a huge time sink.
This kid didn't read the mark scheme or he would know that you are not asked to comment the code, nor does doing so confer any direct proof that you can do any of the things that spec says you should demonstrate.
You're meant to show designs for the different parts of your programs, you're meant to demonstrate that you wrote code and that it does what you say it does, and you're meant to establish a testing procedure and document the outcome, among other things.
What you do NOT do is comment your code and call it a day. I know because I tried doing precisely that in my own project and was told "we don't want code, we want documentation". When the teacher says he doesn't have a clue how it works, it's because he was given a code dump. Documenting it so that a non-programmer can understand what you are doing is tedious but that is what you're being asked here.
Worse than that, difficult courses have much lower pass rates and scores. Teaching them is risking your standing on the league tables. It also precludes your ability to teach the 4 credit GCSE in ICT which (at my last school) got a 100% pass rate.
If you funnel every kid in your school through a course on which 100% of them get 4 GCSE credits and target measure on the league tables is percentage of students who get 5 GCSEs, then you're going to do it. Remember, funding, promotions and everything else is based on your standing on the league tables.
No. Actually Teaching programming in your computer classes is a recipe for failure.
It would be interesting if somebody was to create a League Tables Redux with weighted standings dependent on (a) number of people passing a course and (b) popularity of subject with upper-league employers/universities.
Is an example of one marking scheme that I found (on a quick search).
See page 7 and notice that the requirement is that the student "identify" on a scale of 5 marks
- A clear statement of the problem, giving some background detail and identifying user(s)
- Consideration of possible alternative solutions with
adequate justification given for the chosen method
- Quantitative objectives or user requirement
Now if a student just goes out and makes a mobile app that doesn't cover any of the requirements so for the above section I'd have been forced to give a 0.
The UK school system has a number of very deep, systematic problems that are preventing it from delivering a good education in IT.
It's a shame, it's frustrating and it's not going to change any time soon.
One thing I had drummed into me in my UK ICT education (admittedly 15 years ago and it wasn't called ICT then) was that we were aiming at fulfilling client desires; that we shouldn't just go off and produce something cool, if it wasn't of use to the described and defined end user (who we had a great amount of freedom to select) and we couldn't objectively justify our development approach, it wasn't good enough.
Now, I can't say I object to a marking scheme that requires students to learn to develop what is useful and efficient rather than just what is cool...
I would much rather kids make stuff that is cool, rather than stuff that is useful. They have 60 years after they leave school to make useful stuff (probably for other people).
There was a strong software engineering and project management streak to the course when I was on it; you were taught that code was written for a purpose and for an end user, and that you should be aiming at that target. You could have written a game or a graphics demo if you could have justified it, but you had to actually produce what you could argue somebody wanted.
Frankly, for a relatively vocational course, I think that was the right balance. If they want to play then let them but teach them the discipline of producing to a spec too.
I agree with you 100%, and from an educational and learning theory perspective that's the way to go. Something that is engaging, interesting, exciting and cool is highly motivating and therefore has a much greater chance of being able to "sneak in" the learning while the kids think they're just having a bit of fun.
Unfortunately, that's now how it works in England. It's completely bass-ackwards and all performance and learning has to be measured so that it can be inspected, compared to others' and reported on.
Unless there is a political "sea change" in England with respect to this issue, your "preference" is worthless. Edexcel, is a private publisher who writes the exams, and sells the textbooks and makes millions of pounds a year on the system as is. Inspection and Regulation can be billed at a tremendous markup and it pays for a lot of lobbyists.
Unions in England were broken by Thatcher, so the 3 (4?) teacher's unions (yes, plural) are powerless to lobby against the system ... in a brilliant case of divide and conquer, they spend as much time arguing amongst themselves as lobbying for teacher's right to be trusted.
The office of inspection of schools has a motto of something like "Better education through inspection" ... how disjointed is that? Not through "instruction" or "enjoyment" or "making cool stuff" but "inspection"
Sorry ... your preference is irrelevant.
I feel very passionately about that, every day they're failing their children and they can do so much better.
It's a large part of the reason I've quit teaching but, Que Sera right?
I'd like a simpler explanation of how it all works. With colorful flow charts and graphs.
I'm really interested in how it compares to what express does. How is it the same, how different? However since I'm reading this from the office between doing actual work I've not got time to read this version.
I may or may not remember to come back and check it out after work.
Anyways, all of that is intended as a round of constructive criticism. At the end of the day, it is what it is.
The proposed Resource-View-Presenter model is a bit of a brain bender.
Anyway, that aside, I agree -- this is described as a framework "initiative", and that page has no links to actual code, making it sound like a mere proposal.
However, looking back at Nodejitsu's blog, it looks like they have a post with a more cogent explanation... and github links:
yeah, but, it's not immediately clear to me why they built sugarskull instead of a client library to match connect's routing (I've used sammyjs for that purpose)
and while I do appreciate the philosophy of plates (I've done something similar), I wonder why wasn't that implemented as an express 'template engine'.
I'm sure there's good reasons:
I'd like them spelled out ;{)}
looking good.
sammyjs emulates Sinatra. Sinatra is ad-hoc routing, vs centrally-declarative (e.g. a routing table definition). And although sammy is great, it is also a jack-knife with many plugins, we wanted to move the plugin-like capacity to a higher position in the architecture, which keeps sugarskull simple and focused on routing. I dont think the router is the right place to hang all your functionality from.
`plates` is essentially a loose html-parser. The only reason it exists is because `weld` is too slow right now for mass consumption. `plates` is intended to ensure that developers have a way to template without DSLs since a lot of people want to keep their markup clean.
hey, thx for the explanation.
sounds like I should consider replacing sammy with sugarskull
I totally endorse the anti-template philosophy. But I want a bit more, like targeting attributes (eg, the href of an anchor, the value of an <option>) and replicating a class-selected fragment for welding data from arrays.
Although it isn't my intention, I do understand that this might come across as rude, but how is this different from the last few times it has been posted here on hackernews?
6 months ago, 4 months ago... It may be a good book, but it isn't new, or as far as I know, changed significantly enough to warrant being listed on the front page.
Well, I still appreciate that this article came up again. I'm still new to HN and I wouldn't have gone through the search method to find a beginner's guide to Node.
Thanks again for creating this tutorial. Great introduction to Node and also well written.
Really quite revolutionary (in terms of my understanding)... I already knew about making JPEGS etc, so this makes perfect sense but just seeing him build all the headers for a wav file in memory then "spit it out" to the page is stunning.
Kudos, Bravo, Standing slow clap, etc...
Thanks for sharing.