What schools should be teaching IT students
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

What schools should be teaching IT students

on

  • 2,462 views

What schools should be teaching IT students.

What schools should be teaching IT students.

Statistics

Views

Total Views
2,462
Views on SlideShare
2,029
Embed Views
433

Actions

Likes
2
Downloads
21
Comments
0

9 Embeds 433

http://theworkinggeek.com 244
http://techworklove.com 88
http://petdance.com 65
http://www.theworkinggeek.com 19
http://www.slideshare.net 11
http://dashboard.bloglines.com 3
http://feedonfeeds.ftwr.co.uk 1
http://static.slidesharecdn.com 1
http://www.lmodules.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

What schools should be teaching IT students Presentation Transcript

  • 1. What schools should be teaching IT students Andy Lester, andy@theworkinggeek.com http://theworkinggeek.com
  • 2. Andy Lester • 23 years in software development and management • Author, Land The Tech Job You Love • Many friends made sure their pet peeves were in here. We thank you for listening. • I welcome comments and follow-up at andy@theworkinggeek.com
  • 3. Tools of the trade
  • 4. Source control
  • 5. Source control • Branching • Merging • Team-based • How to write a commit message
  • 6. Bug tracking
  • 7. The compiler
  • 8. The compiler • Turn on all warnings by default • Warnings are good • gcc is amazing • 90% of what a good lint does • Highly tuned and optimized code
  • 9. The compiler • Perl: use strict; use warnings; • PHP: set_error_reporting( E_ALL ); • gcc: -Wall -Wextra compiler flags
  • 10. Make, and the philosophy of repeatability
  • 11. Lint / splint
  • 12. Serious editing
  • 13. Serious editing • vim • emacs • TextMate • Eclipse • Not notepad for God's sake
  • 14. Concepts
  • 15. DRY: Don't Repeat Yourself "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system."
  • 16. Defensive programming
  • 17. Maintenance
  • 18. The vision
  • 19. Actual first project
  • 20. How about...? • Your assignment is code that does such-and- such. • It will be based on one of your classmates' previous assignments. • You may not disparage your classmate's work.
  • 21. Manual testing Automated testing
  • 22. "Efficiency" and why it (usually) doesn't matter
  • 23. Thinking business
  • 24. Thinking "Project"
  • 25. Thinking "release"
  • 26. Thinking deadlines
  • 27. A project is a set of code at a point in time.
  • 28. How about...? Your assignment is code that does such-and- such. Your deliverables are: • Code that will compile + build without warnings under GCC 4.2 and GNU Make. You must use -Wall and -Wextra. • URL pointing to the class git repository that I can pull down and build using setup.sh.
  • 29. Full project lifecycle
  • 30. Building for the future and YAGNI
  • 31. Good enough and not being sloppy
  • 32. Soft skills
  • 33. Teamwork
  • 34. Culture
  • 35. You are not the smartest one.
  • 36. "If we don't do it my way, we might as well not do it at all."
  • 37. How else can they learn?
  • 38. Get into open source
  • 39. Open source work is real work.
  • 40. Students will learn • How to work with difficult people • Source control • Dev with disparate teams • Project lifecycle: new features, bugs, etc • Test-driven development • How to work with difficult people
  • 41. They will NOT learn • Thinking Business • Thinking about deadlines • Working with a boss
  • 42. Experience on the resumé
  • 43. Sample code for a portfolio
  • 44. Missing textbooks • The Pragmatic Programmer, by Andy Hunt and Dave Thomas • Code Complete, 2e, by Steve McConnell
  • 45. andy@theworkinggeek.com http://theworkinggeek.com