This is something I spent 1 entire day(ok, maybe half) at work trying to figure out. Hope that by putting it here, it’ll make it somewhere on google and make another coder’s life less of a problem.
So, I was working on this piece of code at work, an iframe actually, and it wasn’t showing up in Firefox4, but was showing up on Safari and Chromium. Below’s the code.
So I spent ALOT, and I stress, ALOT of time trying to figure out why, substituting other stuff there and what not, but it failed to work. I spent hours googling up terms like “iframe not showing up in FF4″, but could find no solution.
And I just figured out, the reason why that was happening was because I had Adblock Plus installed. So, if you see your iframe, or in fact any other div, img or any html elements having a random class, and the class having the attribute below.
yup, you know what to do =D
Disable AdBlock Plus, and try again.
Curious fact tho, I had AdBlock Plus on Chromium too, but it showed up fine.
The foreign language model is closer to being practical. At Grand Valley, students study a foreign language for four semesters before beginning a serious study of literature and composition in that language. In theory, I think a similar model would for programming would be much more effective.
I call bullshit on this.
- There is alot of lousy teachers teaching in Universities, hence a low throughput in transferring the art of programming.
- Many of the teachers are still focusing on teaching syntax in the first semester, not the art of programming. What that results in, are ppl who only know what syntax to use in specific situations.
- By focusing on syntax, the teachers are no longer teaching the students how to solve new problems, but how to solve problems that have been solved many times before.
- The students are now well versed in regurgitating syntax to solve trival problems, and not understand why it works.
There is one comment on Hacker News that sums up what I feel very well.
In math, students who aren’t excellent and passionate generally don’t even try, or don’t continue. That’s because all they can do with a bachelor’s in math is go to grad school, where they have to be good. In CS, it seems like we think we can send off crappy graduates and, well, if they can’t go to grad school, at least they can get jobs programming. Well, wake up. Industry doesn’t want them either. Better to help these kids realize they don’t like the field and find something they do like, than let them continue busting their asses believing they’ll get their dream job just for graduating.
The problem with Universities, is that they need funds to fund whatever research that they are doing. And as a result, they are content with filling up the classes with these students who clearly cannot do anything in the real world, nor the potential to do research, in order to fill up quota, and get the funding.
I like the analogy to music, but honestly, I think programming itself, divorced from knowledge of operating systems, theoretical computer science, mathematics, web design, or other complementary skills, is not on the same level of technical difficulty as music. You don’t need to start as a child to become sufficiently competent to become a computing professional. You do need practice, though, and that is what is sorely lacking in the curriculum. His concern about the lack of sufficiently engaging practice problems is spot on. When all the programming assignments are about CS topics, they’re trying to teach CS and get programming as a freebie, instead of teaching programming as a skill in itself.
Exactly. Programming is not that hard. The problem is the wrong focus when the teachers teach. And the students are not helped enough into programming, and they dun even have the skills to embark on their own projects, because they are not even guided in their baby steps into programming. And because of the emphasis on syntax, they do not really know how to think through how go through the entire thought process of coding, hence hindering their ability to do actual coding.
Now, I am not a guy who goes around pointing out problems without providing solutions. So how do we solve this problem of the introduction modules not doing what they are intended to do.
- Change the focus of the teaching staff
- Change the people teaching programming
- Dare to fail people who cannot make it
- Have more professors who care and are in the real world
- Open pure teaching positions
The teachers need to start realizing that they are not there to teach syntax. They are there to teach the art of programming. In order for them to teach programming properly, they have to first understand programming by itself is a skill. It is not something extra that comes with teaching Computer Science.
Many of the professors no longer code, preferring to let their research students code for them. How then, can we let people who no longer code actively teach the students how to code. It’s like Richard Stallman, who no longer codes, and yet wants everyone to give out free software. It’s just ridiculous. What we need, is to give real world coders and hackers a chance to come in, and impart their knowledge of the art. There needs to be some system for allowing these people to take up temporary teaching positions, and contribute their expertise to education.
Instead of making the grades for the initial programming modules a bell-curved one, let it have a fixed bar instead. Students who are unable to even come up with a solution to a simple problem should just fail, instead of being awarded partial marks for attempting. Students who can solve the basic problem, but are unable to solve the more advanced ones, should be given a pass, with marks give based on how much they can solve the harder questions. And of course, the students who can solve the damn hard questions should get a pretty good grade.
Now, universities like CMU and MIT dares to fail their students who cannot make it, that’s why they are all the way up there. They know they have standards to keep. That is why employers dare to hire from their schools, and why employers are hesitant when hiring NUS programmers.
Professors like Chris Boesch from SMU are very good examples. They care for their students, and are open to new ideas on how to contribute and improve the community. In fact, Chris is the founder of Singpath, a platform that we at NUSHackers used at CodeCom 2011. These professors are often in contact with the real world, either through open source projects or geek events. Hence, they have a good idea of what is going on the ground.
Many of the professors are more interested in research than teaching. Let them do the research, and leave teaching to ppl who want to. And allow people with the skills to come in and teach, without forcing them to do research.
Of course, it is unlikely that these stuff will ever happen. They are not willing to sacrifice the funding for their research, and even if they are willing to, few of the have the balls and the guts to sit down in front of the dean, and tell him that there is a problem on the ground. The only thing that can happen for now, is that the hackers actively come out and signup for the teaching staff of those introductory programming modules, and try to make a difference, one by one.