1 / 13

Great Principles of Computing: Computing for Everyone

This article discusses the declining enrollment and relevance of computer science undergraduate degrees. It proposes a strategy of ubiquitous computing education, with a focus on teaching computing in a context that students care about. The article highlights a specific course, Introduction to Media Computation, as an example of teaching computing through media manipulation and creation. It also emphasizes the importance of integrating computer science topics into real-world problem solving.

bakerf
Download Presentation

Great Principles of Computing: Computing for Everyone

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Great Principles of Computing: Computing for Everyone Mark Guzdial College of Computing/GVU Georgia Institute of Technology

  2. A Computer Science Undergraduate Degree is Facing Irrelevancy • We’re losing students, at an increasing rate. • Women and minority percentage of enrollment dropping • High failure rates in CS1 (35-50% or more) • Fewer applications into CS • “All programming jobs going overseas” • Research results: “Tedious,” “boring,” “lacking creativity,” “asocial” • All of this at a time when we recognize the critical role of IT in our economy, in all jobs

  3. Strategy: Ubiquitous Computing Education • Everyone needs computing, andwe should be able to teaching computing that everyone cares about. • Make computing relevant and accessible to students. • Minors, certificates, joint degrees, alternative paths to the major. • At Georgia Tech, we do require every student to take an introductory computing course. • Used to be just one, based on TeachScheme approach (HTDP) • Then came the “Recent Unpleasantness”…

  4. CS1315 Introduction to Media Computation • Focus: Learning programming and CS concepts within the context of media manipulation and creation • Converting images to grayscale and negatives, splicing and reversing sounds, writing programs to generate HTML, creating movies out of Web-accessed content. • Computing for communications, not calculation • Required course at Georgia Tech for Architecture, Management, and Liberal Arts students; Optional for Biology • 121 students in Spring 2003,303 in Fall ’03, and 395 for Spring ‘04 • 2/3 female in Spring 2003 MediaComp

  5. Teaching computing, not programming • These students do not want to learn to program. • In fact, some drop as soon as they learn that programming IS still required. • We use a data-first approach • Real professional computer users are not eager to use the computer • They (reluctantly) learn applications and programming because they have data that they want to manipulate • Today’s undergrads have digital pictures, sounds, and video • We give them the tools to manipulate them. • Then we introduce the Great Principles in the task context.

  6. Rough overview of Syllabus • Defining and executing functions • Pictures • Psychophysics, data structures, defining functions, for loops, if conditionals • Bitmap vs. vector notations • Sounds • Psychophysics, data structures, defining functions, for loops, if conditionals • Sampled sounds vs. synthesized, MP3 vs. MIDI • Text • Converting between media, generating HTML, database, and networking • A little trees (directories) and hash tables (database) • Movies • Then, Great Principles topics (last 1/3 class)

  7. Some Computer Science Topics inter-mixed • We talk about algorithms across media • Sampling a picture (to scale it) is the samealgorithm as sampling a sound (to shift frequency) • Blending two pictures (fading one into the other) and two sounds is the same algorithm. • We talk about representations and mappings (Goedel) • From samples to numbers (and into Excel), through a mapping to pixel colors • We talk about design and debugging • But they mostly don’t hear us

  8. Computer Science Topicsas solutions to their problems • “Why is PhotoShop so much faster?” • Compiling vs. interpreting • Machine language and how the computer works • “Writing programs is hard! Are there ways to make it easier? Or at least shorter?” • Object-oriented programming • Functional programming and recursion • “Movie-manipulating programs take a long time to execute. Why? How fast/slow can programs be?” • Algorithmic complexity

  9. Does the class work? • In Spring 2003, 121 students (2/3 female), 3 drops • Fall 2003, 303 students, 8 drops • Women had higher grades and fewer drops than men • 60% of students surveyed at end of course say that they want a second course. • These are non-majors, who have already fulfilled their requirement • We are getting transfers into the CS major.

  10. What do the Great Principles offer this course? • Identifying the principles that we can cover in the course. • We chose the ones we did from CC2001’s CS1 requirements and from what fit naturally into a media context. • Peter’s lists highlight the important topics that we might cover, that need to be introduced (even for non-majors) • Perhaps not all in the first course.

  11. What does this course have to offer the Great Principles? • Especially for non-CS majors, we can’t separate off programming. • Cognitive science: Concrete before abstract • These students grapple with what we see as “simple” concepts: Sequencing of operations, iteration, conditionals, indexing (e.g., of arrays) • Need to understand what a computer is before they can grasp what a computer enables • But we can teach programming as a context for teaching the Principles, not as an end goal.

  12. What do the Great Principles offer CS Undergraduate Education? • Stop teaching syntax of languages! • In the Media Computation class, we never teach else, we only touch on while, and students never make their own classes. • We don’t need them for our goals, and they get in the way. • If our goal is to teach the Principles, we don’t need every language feature. • Our focus in CS1 is not to create programmers! • The goal of Introductory CS, like any other Introductory course, is to introduce the Great Principles of the field—NOT create professionals in the discipline!

  13. What do the Great Principles offer undergraduate education? • Peter’s “Ladder of Expertise” is a very important idea. • Our CS undergraduate programs do tend to focus at the middle level. • As Peter points out, we do the upper levels a disservice. • But we also do the lower levels a disservice. • Not everyone needs to be a proficient as a professional programmer! • But how much more impact can we as a field have if we can help biologists, architects, and business majors actually understand the Great Principles of computing, as beginner and intermediate programmers?

More Related