Dirty Secrets - PowerPoint PPT Presentation

1 / 3
About This Presentation
Title:

Dirty Secrets

Description:

Bulk of book (and class) content devoted to language-specific idiosyncratic ... (Ban IDEs, they turn students into IDE-junkies). Advanced Coursework: ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 4
Provided by: russellsh
Category:
Tags: dirty | ides | secrets

less

Transcript and Presenter's Notes

Title: Dirty Secrets


1
Dirty Secrets
  • Introduction to Programming books arent.
  • Are really Intro to Programs-in-the-Syntax-of-L
    anguage-X
  • Bulk of book (and class) content devoted to
    language-specific idiosyncratic
    implementations of generic algorithmic
    constructs... not programming.
  • Treatment of debugging limited to asides,
    sidebars and tips.
  • Students develop programming practices ad hoc
    while fighting deadlines.
  • Software Engineering isnt.
  • Its an academic discipline which muses about
    software engineering.
  • It is not an engineering discipline that
    produces Software Engineers.
  • Claim in upper division courses, lt 5 of
    student code is ever seen.

Results are predictable an entire industry
producing code that doesnt work.
2
Debugging Programming
  • Tracing
  • Without machine execution (execute by
    hand-and-mind).
  • Fighting the execution urge (compilers make
    students stupid).
  • Program components that help programs be
    debuggable
  • Debug flags (as per Dees comments)
  • Executable documentation (the Assert statement
    re pre- and post-conditions)
  • Programming techniques to minimize debugging
  • Error avoidance (Code Complete)
  • Pattern mastery (Design Patterns)

3
Debugging the Environment
  • Language-independent personalized tool
  • Goes with student to different courses and
    languages (emacs subset?)
  • Initially-small set of capabilities grow with
    the persons capability (Ban IDEs, they turn
    students into IDE-junkies).
  • Practicum Courses
  • Where do students learn what good code looks
    like?
  • What do they learn about whats good enough?
    (10 failure A ?)
  • Need a course or two where the ONLY agenda is
    producing good code.
  • Advanced Coursework
  • Re-think What are upper division programming
    assignments for?
  • Two orthogonal dimensions concept mastery vs.
    skill development.
  • Does each programming experience help the
    student know how to make his/her next program
    better, i.e., more professional ?
Write a Comment
User Comments (0)
About PowerShow.com