250 likes | 412 Views
Everything should be made as simple as possible, but not simpler. —. Albert Einstein (1879 - 1955 ). Programming Logic and Visual Basic .NET. Thad Crews Computer Information Systems Western Kentucky University. Prentice Hall PHIT Las Vegas, NV April 3, 2004. In a nutshell….
E N D
Everything should be made as simple as possible, but not simpler. — Albert Einstein (1879 - 1955) Programming Logic and Visual Basic .NET Thad CrewsComputer Information SystemsWestern Kentucky University Prentice Hall PHITLas Vegas, NVApril 3, 2004
In a nutshell… • Working IT professionals benefit from the advancement of modern programming languages, tools, and paradigms. However, these same advancements create significant challenges for faculty who design and teach introductory programming courses • Complicated Syntax • Overwhelming Environment • 50% D/F/W • 10 pounds of material in a 5 pound bag • (PLUS) Jobs being outsourced overseas
1536 pages 266 pages The March of Progress
What Is a Faculty Member to Do??? • Industry is driven by professionals and their needs, not academics and our needs. Therefore expect more of the same… • More powerful tools and environments • More students making Ds, Fs, and Ws • More programming jobs being outsourced overseas
ACM/IEEE Computing Curriculum 2001 Report “Programming courses often focus on syntax and the particular characteristics of a programming language, leading students to concentrate on these relatively unimportant details rather than the underlying algorithmic skills. This focus on syntax details means that many students fail to comprehend the essential algorithmic model that transcends particular programming languages.”
— Computing Curricula 2001 http://www.computer.org/education/cc2001/final/ ACM/IEEE Computing Curriculum 2001 Report “Once students have a solid grasp of the algorithmic foundations and the range of data and control structures […], they can then move on to a more conventional language, either partway through the first course or, at the latest, the beginning of the second course. Because students have experienced a wider range of both data and control structures early, their later progress through conventional programming work can occur more rapidly and class time can be more explicitly focused on issues of effective programming practices and systematic debugging skills.”
Teach Logic Before Syntax There is a growing movement to teaching programming logic and design skills rather than emphasizing the mastery of syntax for a particular programming language de jour. One of the classic tools for this is the flowchart.
Code vs. Flowchart – An Experiment IF A < D THEN PRINT A ELSE PRINT D IF B < C THEN PRINT B ELSE PRINT C END IF END IF
Code vs. Flowchart – Correctness (significant at p < 0.002)
Code vs. Flowchart – Confidence (significant at p < 0.003)
Code vs. Flowchart – Time (significant at p < 0.000)
Executable Flowcharting Projects The results strongly support the general consensus that flowcharts are valuable for novice students. However, flowcharts become powerful educational tools when they are executable, providing students with immediate, accurate feedback on the logic and design of their solution.
Visual Logic (Current Status) • Enhance I/O (dialog, console, file) • Conditions • Loops • Procedures • Parameters (pass by Value, pass by Reference) • Arrays • Graphics • Multimedia • Debugging Support (breakpoints, variable watch, stepping) • Intuitive Interface
— Computing Curricula 2001, p. 32 Great Tool… Now what??? I was using early versions of Visual Logic in my intro programming courses back in 1998. We would spend about 5 weeks on programming fundamentals and 11 weeks using the traditional text… “Because students have experienced a wider range of both data and control structures early, their later progress through conventional programming work can occur more rapidly and class time can be more explicitly focused on issues of effective programming practices and systematic debugging skills.”
Support Material For First 5 Weeks • Interview • Case Study Scenario • Ask the Author • Tips • Mentor/Manager • Topic Summary • Quick Check • Case Study Solution • Enhanced end-of-chapter Material
Experiences “Middle Value” “Procedures and Graphics” “More Experimental Findings” “Diversity of Students (CS-Majors & Novices)” “When to teach Objects?” “The Power of .NET”
Programming Right From the Start http://www.prfts.com