Stuff that every programmer should know but isn't necessarily in the school books
-
Would you tear the shell off a Turtle? Poor little turtle... How do you think Windows feels when you rip it's shell right out from under it? Not really a great idea just to save a minute on a reboot...go get a coffee.
-
dabs wrote:
instead of rebooting when you install Subversion you can just kill Explorer
:omg: :omg: No no no. It screws most applications that have an icon in the tray area.
If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki
-
I think you can assume a certain level of computer skills if someone is in a CS class.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001No you don't. Believe me, 10 years of experience should tell :-) Those that have very little experience will obviously have much more work ahead of them, but they should by no means be written off. Some of those that were not very promising at the beginning have turned out quite well.
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
-
If I was going to a school and they were teaching that, I'd ask for a refund. Don't get me wrong, some nice "benign hacks/tips/tricks" are fun to learn, but do not make that a "chapter" in your curriculum. Anyway, don't forget to tech them to use the "shut down" button of their computer and learn to live.
This signature was proudly tested on animals.
Don't worry, this will only be about one lecture out of a whole course. The course will focus on real computer science stuff. But the point about learning how to use the "shut down" button is really good :-)
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
-
Totally disagree. When I started learning computer science, I was a newbie myself. If students should be thrown out based on how they perform the first days I would have been thrown out. But here I am, quite a decent programmer (if I may say so myself), and an excellent teacher (you can ask my students!). People reeeealllyyy should learn to be more patient with those that don't succeed immediately.
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
Sorry but no, there are far too many cs students being cranked out these days with a) no critical thinking skills, b) no real desire to become a true professional programmer. I wholeheartedly agree with the others, any cs student that doesn't show a keen interest to figure things out on their own within the first couple of days is someone who should be gently guided away to whatever marketing or business courses are on offer. My very first educational institution experience with computers was in high school and I was programming on paper with a pencil for about 6 months before that knowing I'd get a chance to use my first real computer and wanted to be ready for it. I was *that* motivated. These days most cs students simply want to make money, it's a default choice, they don't actually have an inner desire to learn it for it's own sake, then they clog up the job market and happily acquiesce to all manner of systems designed to ensure programmers are a commodity, nothing more than a big cog in a machine easily replaced which brings down the quality of all the work and the work environment for the rest of us who actually like doing this stuff. Anything that can be done to weed out the people who need their hands held or are just in it for the money is a good thing, you are doing a disservice to your fellow programmers here and everywhere if you do anything less.
"Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg
-
* Unit-testing (NUint, TestDriven.NET) * Using a profiler * Virtual Machines / Remote connections / Remote debugging * Some basic patterns The book "Don't make me think" should also be included :)
I are troll :)
These should certainly be covered, although (at least some of them) they might be better suited when the students have gained some experience. Thanks for the suggestions though.
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
-
How to use a debugger - it's amazing how many new grads have never debugged anything before, and seem amazed when you tell them that using prints and messageboxes isn't the best way
Help me! I'm turning into a grapefruit! Buzzwords!
-
Maybe you could try to "integrate" those notions along the way, without teaching them explicitly.
If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki
-
And the software industry will collapse because of horrible code quality :)
Cédric Moonen Software developer
Charting control [v2.0] OpenGL game tutorial in C++:rolleyes: Yeah right, keep on believing that. That belief is one of the many reasons why there will be no real U.S. programming market in the years to come.
"Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg
-
Don't worry, there will be lots and lots of stuff about computer science. I was thinking about maybe one 45 minute lecture/hands-on session about this stuff, and mostly because when students talk about the stuff that they remember the most from lectures, it is often some of those small things. What I've learned from 10 years of teaching is that the lectures cannot be too boring, the attention of students will quickly go elsewhere if they get bored. Talking about stuff that isn't theory but helps them in practice will help in keeping their attention.
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
As some one with a Computer Science degree I can say for a fact that a lecture on how to use an operating system and perform basic computer tasks in a programming class would bore me to death. ... In fact, I did drop such a class. I took AP Computer Science as a Senior in H.S. and the first day was spent using Mavis Beacon and the syllabus included such advanced concepts as how to use Word. I dropped it and never looked back.
Need custom software developed? I do C# development and consulting all over the United States. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me A sense of obligation." --Stephen Crane
-
Thanks, didn't know about that, will try it. What benefits does it have that WinRar hasn't?
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
Free (vs shareware), and a nicer UI. I'd guess it's a tossup on which has more seldom used formats supported (probably whichever has the newest release date :rolleyes: ).
It is a truth universally acknowledged that a zombie in possession of brains must be in want of more brains. -- Pride and Prejudice and Zombies
-
As some one with a Computer Science degree I can say for a fact that a lecture on how to use an operating system and perform basic computer tasks in a programming class would bore me to death. ... In fact, I did drop such a class. I took AP Computer Science as a Senior in H.S. and the first day was spent using Mavis Beacon and the syllabus included such advanced concepts as how to use Word. I dropped it and never looked back.
Need custom software developed? I do C# development and consulting all over the United States. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me A sense of obligation." --Stephen Crane
-
At
MFC/C++
forum you may find plenty of 'Senior Developers' unaware of such points. :)If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
[My articles]CPallini wrote:
At MFC/C++
any programming
forum you may find plenty of 'Senior Deuh
velopers' unaware of such points.FTFY
It is a truth universally acknowledged that a zombie in possession of brains must be in want of more brains. -- Pride and Prejudice and Zombies
-
I can assure you that if you would be learning stuff that you had not heard about before and is both interesting and useful, you would not be bored.
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
Do what you want. My core line of business is fixing software failures.
Need custom software developed? I do C# development and consulting all over the United States. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me A sense of obligation." --Stephen Crane
-
Hi all, I will be teaching an introductory course for students studying computer science this fall, and I was thinking that it might be a good idea to spend a little time teaching them about all kinds of stuff that they will probably not read in their books, but are nonetheless useful (and sometimes useless) information for all programmers. Stuff like: - shortcuts, both obvious and not-so-obvious (such as Windows+E to start Windows Explorer, Ctrl+PageUp to switch between tabs in Excel/Chrome etc.) - command line commands, maybe the 10 most commonly used (both on Windows and Unix) - tools they should know exist, both tools that are already installed on their computers (Task Manager, Event Viewer etc.) and others they can download (WinRar, Firebug etc.) - tricks that might come in handy at times (you can use Ctrl+C to copy error messages to the clipboard when a messagebox appears, instead of rebooting when you install Subversion you can just kill Explorer etc.) What would you add to this list? Regards, Daniel
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
Some of that may come across as, "look how clever I am". I'm sure I'd be shouting, "move it along", from the back of the room. Nowadays I'm sure anyone who is serious about learning programming knows how to do certain things; unlike when I first learned, when I knew only one person with an Apple ][ and I learned BASIC on a PDP-11. I also thought I was the last person alive using the command line. :~
-
Dario Solera wrote:
Really?! How do you debug your code then?
With MessageBeep of course.
Learn from the mistakes of others, you may not live long enough to make them all yourself.
-
As some one with a Computer Science degree I can say for a fact that a lecture on how to use an operating system and perform basic computer tasks in a programming class would bore me to death. ... In fact, I did drop such a class. I took AP Computer Science as a Senior in H.S. and the first day was spent using Mavis Beacon and the syllabus included such advanced concepts as how to use Word. I dropped it and never looked back.
Need custom software developed? I do C# development and consulting all over the United States. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me A sense of obligation." --Stephen Crane
Ennis Ray Lynch, Jr. wrote:
the first day was spent using Mavis Beacon and the syllabus included such advanced concepts as how to use Word.
The flip side is that my HS has(had?) real programming classes (1 year lecture + 1 year independent study); and there was always at least one or two people in each class who went into it expecting that level of difficulty and ended up failing out. I was this >< close to being one of them. :sigh: It took most of the first quarter before my reality check cleared; and the rest of the semester to dig myself out of the hole.
It is a truth universally acknowledged that a zombie in possession of brains must be in want of more brains. -- Pride and Prejudice and Zombies
-
Totally disagree. When I started learning computer science, I was a newbie myself. If students should be thrown out based on how they perform the first days I would have been thrown out. But here I am, quite a decent programmer (if I may say so myself), and an excellent teacher (you can ask my students!). People reeeealllyyy should learn to be more patient with those that don't succeed immediately.
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
I agree with you on this. However, I don't think it's very important to learn the sort of "productivity tips and tricks for programmers" when people are starting out. Noone can absorb an unlimited amount of stuff in a limited time, and I think you should use their capacity on important programming concepts, not the productivity tricks of any particular environment. At least in the beginning. As people progress a little I suppose some tips & tricks can save people enough time that it in fact frees up some of that mentioned capacity... What I found weakest in the programming class I had in uni was how to approach object-oriented design. It seems to me almost nobody learns much at all about it - if they do it's the sort of naive design that takes a textual description of a system and picks out the nouns and verbs, which are to become the classes and their methods. I personally believe it's more fruitful to base abstractions on the responsibilities involved in a system. I realize that these matters are hardly something one can teach as scientific fact (I don't think anyone has even attempted to measure the outcomes of following various design philosophies), but if we had been introduced to a few competing philosophies and compared and contrasted some implementations I think a lot of students would have gained a lot of practical ability in a short time.
-
Dario Solera wrote:
Really?! How do you debug your code then?
With MessageBeep of course.
Learn from the mistakes of others, you may not live long enough to make them all yourself.
Ever since my master asked me not to use
MessageBox()
for debugging purposes, I useExitWindowsEx()
instead. Trust me, it works like a charm. :thumbsup:It is a crappy thing, but it's life -^ Carlo Pallini
-
:rolleyes: Yeah right, keep on believing that. That belief is one of the many reasons why there will be no real U.S. programming market in the years to come.
"Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg
John C wrote:
That belief is one of the many reasons why there will be no real U.S. programming market in the years to come.
It will have moved to Canada, eeh?
Simply Elegant Designs JimmyRopes Designs
Think inside the box! ProActive Secure Systems
I'm on-line therefore I am. JimmyRopes