Your SlideShare is downloading. ×
0
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
What schools should be teaching IT students
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

What schools should be teaching IT students

1,720

Published on

What schools should be teaching IT students.

What schools should be teaching IT students.

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,720
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
21
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

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

×