Stuff that every programmer should know but isn't necessarily in the school books
-
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!
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.
-
Only very badly written ones...
I doubt it. If it isn't intuitive then we need to fix it. - Chris Maunder
He he. As if there are just a few out there! :-D
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
-
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!
- in fifteen years, the only programmers in the West will be academics and hobbyists.
-
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!
* 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 :)
-
Only very badly written ones...
I doubt it. If it isn't intuitive then we need to fix it. - Chris Maunder
-
- in fifteen years, the only programmers in the West will be academics and hobbyists.
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++ -
What does computer science and windows short-cuts have in common? I think that material is better left to an introduction to computers or business software lay course. If I walked into a C.S. course and the first day the prof. went over such things I would drop the course or switch professors. (Or go to the Department Head and yell).
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
I second Ennis's post. You are there to teach programming not intro to computers. By all means gather all the material and create a course website. On the first day of the class, tell them about your *extra* course material and *freebies* and let them dig it out from your website. No need to print any paper. I took several classes with a particular professor. I like her because she digs out a lot of relevant material about the course and posts links in the her "course website". Then in the beginning of the class, she reminds the students with a single statement about the material in the website never to mention it again. The best part sometimes when someone asks her she points them to her website. :thumbsup::thumbsup:
Yusuf May I help you?
-
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!
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!
-
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/2001When you assume you make an *** out of you and me. But seriously I think you can assume they now how to Tweet, to Facebook, to AIM , to Limewire, and a few others but why should you assume they actually know how to use a computer. Coming out of High School... it's not like back in they day when to get your computer to work you had to constantly juggle settings in the autoexec.bat and config.sys. Even if they do know the basics, I can't tell you how many competent computer users I have surprised by using Windows-R, Window-E, or Window-M. We all have tips and tricks that we have picked up and assume everyone knows but... Devoting a couple hours to basics and tips in an introductory course is a good thing.
modified on Friday, June 26, 2009 9:53 AM
-
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!
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
-
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!
Excellent suggestion. :thumbsup:
It is a crappy thing, but it's life -^ Carlo Pallini
-
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!
benjymous wrote:
using prints and messageboxes isn't the best way
Really?! How do you debug your code then?
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
-
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!
I'd add volumes to this list, but you might well consider it out of scope. A large part of the books and columns I write address the void in academic education regarding how to actually get things done in the real world, i.e. effectively dealing with people, politics, deadlines, bureaucracy and so on, particularly in an industry as much in need of adult supervision as ours. If they're interested in pursuing a career in tech, good coding skills aren't enough. But that's about all that the typical graduate hits the streets with. Share your experience with them and give them a competitive edge in a tough job market.
Christopher Duncan www.PracticalUSA.com Author of The Career Programmer and Unite the Tribes Got a career question? Ask the Attack Chihuahua!
-
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!
-
dabs wrote:
Ctrl+PageUp to switch between tabs in Excel/Chrome etc.
Ctrl+Tab is much neater for that purpose (in the browsers and VS, etc.,).
It is a crappy thing, but it's life -^ Carlo Pallini
Indeed, where it is available (doesn't work in Excel for instance). Ctrl+PageUp/PageDown is one of those rarely used shortcuts that is nice to know about, and hardly ever mentioned.
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
-
dabs wrote:
WinRar
How about 7zip instead?
John
-
- MSDN
- Code Project
- "How to get an answer to your question" aka "Chris Maunder's 11 commandments"
:)
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] -
What does computer science and windows short-cuts have in common? I think that material is better left to an introduction to computers or business software lay course. If I walked into a C.S. course and the first day the prof. went over such things I would drop the course or switch professors. (Or go to the Department Head and yell).
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
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!
-
I totally agree with Ennis on this. Forget all this intro rubbish. If you've got a bunch of undergrads on a computer science course who don't know basic windows short cuts then they might as well leave immediately. Give them a proper intro to programming, show them some code, get them writing code. Don't teach them how to use computers. If they are ever going to be even semi decent programmers they should be able to figure things like that out for themselves. By all means, if you feel like it, giving them a printed sheet of "tips" then go for it, but don't patronize them by wasting their time with this stuff. Our first day at uni included an intro to "the labs". It was handled perfectly, there was one 3rd year for every ~10 newbies, They handed out printed sheets of common unix commands, and the basic tools you would need, a Java tutorial, and a guide to the various file shares. You could tell within about 5 minutes who was going to make it through the course and who wasn't. The best had emacs/vi up and some simple code running almost immediately. The worst were still trying to figure out what the ls command did. Even having never touched unix before (and very little Java), I was very quickly compiling code. Lesson 2 went straight into full on Java. You could figure out the commands and short cuts in your spare time.
Simon
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!