Undergraduate Curriculum CSE Department Retreat 2008.
-
Upload
russell-campbell -
Category
Documents
-
view
218 -
download
1
Transcript of Undergraduate Curriculum CSE Department Retreat 2008.
Undergraduate Curriculum
CSE Department Retreat2008
2007-2008
• Undergraduate program expansion• Fifth year Master’s program• Curriculum revision discussion
– White paper– Battelle discussion– Faculty meetings– Total paralysis
Today: keep curriculum discussion going
• Speakers– Tom Anderson– Stuart Reges– Yoky Matsuoka– John Zahorjan– James Fogarty– Dan Weld
Motivation for revamping curriculum
• Program expansion / fifth year program forces change
• Remove accumulated cruft• Develop a structure that would support a
broader range of computing disciplines• Allow students to specialize earlier• Modernize program content
– Reflect changes in the field from the last quarter of a century
Key points from 2007
• Our undergraduate program has same basic structure as when it began in the late seventies
• Other departments are facing similar issues– We have looked at other efforts
• Variations on Intro, Core, Electives, Tracks
– Local factors are dominant
Constraints
• Engineering and Arts & Science Degrees• Limited number of credits available for majors
courses– Constraint especially tight for A&S
• Late entry into major– 300/400 level program
• Significant reform requires addressing 300 level courses, potentially removing, consolidating, or making courses optional
Undergraduate Focus Groups
• Conducted by Karen Freisem, CELT• Every capstone (original motivation: ABET)
– Equal numbers of CompE and CS students (74 in all)– 2-5 students/group– Extensive discussion among students in how to
answer
• Many thanks to the instructors who let us impose on their courses
What are the program strengths?
• Connections/opportunities: research, internships, jobs, career– Good connections. Recruiters come from all over.
Recruiters! • Faculty
– UW is a top research school, and, even though it’s top research, the faculty are still outstanding lecturers/teachers.
– Many professors make themselves readily available. It helps connect with the lectures to talk to them one-on-one.
• Resources– Great resources, finances, labs, machines, etc. We
have plenty of money it seems (but not too much). • Curriculum (breadth and flexibility)
– This program does an outstanding job of providing classes that encompass almost the entire field of computer science.
– The department has a fair bit of flexibility in classes we can choose; the requirements are fewer and there are lots of electives.
– Good balance of theory and practice.
Strengths (2)
Strengths (3)
• Advising/community– Great advising know everything, useful, available,
and in general cool.– Good resources
• advisors (they’re topnotch, they care and are available for almost anything, e.g. resume),
• professors (they’re approachable and better teachers than in our other degree programs), and other
• students (they’re smart and they help each other).
– Crystal is an absolute rock star. Megan is as well. All advisors are.
Weaknesses
• Credits– Three 3-credit courses in CS are more than three 5-
credit courses in other departments. – This is an issue for financial aid e.g. three 3-credit
CSE classes is a huge amount of work, but not enough for being a full-time student.
• TAs– Better screening of TAs. In Electrical Engineering
department, TAs must be grad students. Their quality is much much higher. It’s often not helpful to have a TA who has simply taken the class the quarter before.
Weaknesses (2)
• Curriculum: practicality– Reduce the focus on Java and diversify into C++,
scripting languages. – Bring it up-to-date, so many new tech developments
aren’t offered (like WebApps, AJAX, Machine learning, etc.). Teach us about the latest things we want to learn!
– Most things we learn are irrelevant or were not in-depth enough to be useful. We weren’t taught a lot of things we’re interested in (e.g. web stuff, building real apps, XML, reflection, etc… etc.)
Weaknesses (3)
• Curriculum: software engineering– Introductory program (142/3) inadequate
preparation for the major. – Add one more introductory programming course
between 143 and 300-level courses. – An earlier emphasis on real-world applications if
you do an internship after your first year in the department, you’d be lost.
– Needs to be better software engineering taught, more than 403. More focus on software process and programming practicalities (teach them early).
Weaknesses (4)
• Curriculum: Other– Projects:
• Better planning by professors somebody should have done the project before
• More classes that offer projects from start to finish, where we’re not just being given code and completing it from there.
– English/TC• Too many BS reqs (English, TC, etc.) that are useless.
– Stat 390/Math 308• Stat 390 and Math 308 are generally horribly taught and are
universally recognized by students as terrible courses with little positive effect.
ABET Criteria (the good)
(4.9) an ability to identify, formulate, and solve engineering problems
(4.7) a recognition of the need for, and an ability to engage in life-long learning
(4.3) an ability to apply knowledge of mathematics, science, and engineering
(4.1) a knowledge of discrete math (4.0) a knowledge of contemporary issues(3.9) an ability to use the techniques, skills, and modern engineering
tools necessary for engineering practice(3.7) an ability to design a system, component, or process to meet
desired needs within realistic constraints
(3.6) an ability to communicate effectively(3.4) an understanding of professional and ethical responsibility(3.3) a knowledge of probability and statistics(3.1) the broad education necessary to understand the impact of
engineering solutions in a global, economic, environmental, and societal context
(2.9) an ability to design and conduct experiments, as well as to analyze and interpret data
(2.8) an ability to function on multi-disciplinary teams
ABET Criteria (the ugly)
Service Courses
• We need to redesign our nonmajors courses (enrollment slipping for all but 373, evals mixed)
• We should have mini-courses for "programming in X" for various values of X (at least C++ and Matlab); Berkeley does this with self-paced courses run by a TA
• We should make Web Programming permanent (193 students in spring, 4.86 average score on questions 1-4 of student evals)
My top pick for a small change
• Replace 341 (programming languages) with a new open-enrollment 200-level course on "advanced programming" that includes:– 4 weeks of functional programming– 1 week of concurrency– 5 weeks of "programming in the medium" using a GUI
framework (e.g., Swing, Tcl/Tk, .Net, Rails), including a substantial group project
• Add a new 400-level senior elective in Principles of Programming Languages
Do we want major change?• Problem: small changes are hard because there
will always be a few who object to each small change
• Solution: a big set of changes where everyone gets something but everyone is also somewhat unhappy
• Requires investment: Stanford committee had 11 members (5 lecturers, 6 tenure-track) and met every 2 weeks for over a year, with subcommittees meeting in the off week and with "homework" (consulting other faculty)
Stanford's main ideas
• Streamline the core by eliminating redundancy and some older material
• Core consists mostly of a 3-quarter theory sequence and a 3-quarter systems sequence
• No applications in the core• Instead, add tracks (4 courses) that allow
students to concentrate in a specific area
What might that look like for us?
• Combine cse321 (discrete structures), cse322 (formal methods), cse326 (data structures), and stat390 (probability) :– Theory I: Foundations of Computing (6 weeks of 321, 4 weeks of 322)– Theory II: Probability for Computer Scientists (including ML)– Theory III: Data structures and algorithms
• Combine cse303 (software development), cse370 (digital design), cse378 (machine organization) :– Systems I: Introduction to Computer Engineering (new survey course)– Systems II: Computer Organization and Systems (from hardware up to
the source code)– Systems III: Principles of Computer Systems (Building larger scale
systems using OS and networking abstractions)
Diagram of the core
Theory I(4 units)
Systems I(4 units)
Systems II(5 units)
Systems III(4 units)
Adv Prog(4 units)
CSE143(5 units)
CSE142(4 units)
Theory III(4 units)
Theory II(5 units)
100-levelopen
200-levelopen
300-levelmajors only
More on tracks
• Why tracks?– Explicitly shows available options– Helps eliminate image of CS as “just programming”– Provides organizational infrastructure
• Stanford tracks: AI, Theory, Systems, HCI, Graphics, Information, Biocomputation, Unspecialized, Individually Designed
• We can add this with or without a change to our core classes
CompE change: application before details
I am still learning
CompE (and overall) issues• Students learn details/theory etc. without
knowing “how” or “why” these things are used in real applications
• CompE attracting less students over time – More rigid requirement structure than CS– No intro course to attract CSE admissions in CompE– If they like CompE (hardware), maybe they choose EE– Other thoughts?
• Not enough math/stats taught (ABET, research)• Research in CompE mismatch with background of
CSE undergrads
Solutions
• Change CompE curriculum over time – Before next ABET 2013 (next 1-3 years are good
experimental phase)– Less structure (mimic CS) – More classes related to research areas in our
department: robotics, biology, etc.– Math/stat units in more meaningful way– Intro level CompE course?
• Application before theory
Specifics• Meeting and talking• EE215/233 -> change to
– EE3xx Intro to Signal Conditioning – Will be offered Spring 09: Rich Christie, Yoky– A bit more math content to include essence of Math
308• CSE 190 (Intro to CompE): dieter, tom, yoky
– Show application first (robot likely) – Make them see they have to know to do fun stuff– Topics (not limited to): sensors, signal conditioning,
controls, probabilistic approach, biology simulation
John Zahorjan Camp Beach Club 2008
Current Problems
• Some great students are going into other majors. We want them here.
• Lots of time spent building, but not as good at building as they should be by graduation.
• The homeworks are the class– Not good if the homeworks can cover only a portion of the
course topics
John Zahorjan Camp Beach Club 2008
These Are Structural Problems
• Yes, we need to update what we’re teaching• We also need also to update how we’re teaching it• How?
– Elevate course content / ways of thinking to full attention status by reducing overheads involved in building
– Elevate design / build / engineering instruction to more equal status by giving them a manageable place in the curriculum
John Zahorjan Camp Beach Club 2008
Broad Sweep Example
• Regular courses:– 3 credit hours each– Focus on concepts– May involve implementation exercises, but
wouldn’t have projects• Project courses:
– A coordinated sequence, with pre-reqs – Focus on skills and abilities (plus some design / engineering
concepts)
John Zahorjan Camp Beach Club 2008
Benefits: Concepts Component
• Less time fighting the linker means more time to think about the concepts
• Course material doesn’t become completely irrelevant when the course ends; repetition…
• Project topics are more easily updated than regular courses– A lower cost way to provide increased dynamism to the
curriculum
John Zahorjan Camp Beach Club 2008
Benefits: Project Experiences
• Even modest coordination of the project courses could reduce the overheads of “details,” like using editors, compilers, debuggers, profilers, packages, etc.
• Greater opportunity to experience design• Project courses provide a clean way to specify
graduation requirements related to implementation
John Zahorjan Camp Beach Club 2008
Relationship to Recruiting
• Many potential students don’t want to spend as much time programming as our program currently requires– We can more easily modulate that requirement by separating big
pieces of it from our graduation requirement goals
• CSE 142/143 could be thought of as just first courses in the project sequence, and not necessarily as the lynch pins of the CSE majors
John Zahorjan Camp Beach Club 2008
Practical Issues
• On the plus side:– Material for some project courses is already
available (as projects in existing courses)
• On the minus side:– Increase in staffing requirements?
Human-Computer Interaction Education in and around UW CSE
James Fogarty
DUB Cross-Campus Initiative
Web Page at:http://dub.washington.edu
Currently Lists 21 FacultyBiomedical Health & InformaticsComputer Science & EngineeringElectrical EngineeringThe Information SchoolSchool of ArtTechnical Communication
CSE Undergraduate HCI• Two course sequence:
– CSE 440: Introduction to HCI– CSE 441: Advanced HCI
• Project-Based Courses Focused on:– Learning to Design, Prototype, and Evaluate
Interfaces– Where Technology is Headed– What Future Interfaces Might be Like
Undergraduate HCI Concentration• Formal Recognition of HCI focus• Created with DUB Departments
– iSchool first to formally create the concentration– TC is formally creating concentration now– CSE decided not to create a concentration at this
time
• Requires Four Courses– Spanning Two of Five Areas, Two Departments
• Current Primary CSE Impact is CSE 440 Demand
CSE Graduate HCI
• Single Existing CSE Course:– CSE 510: Advanced Topics in HCI
• IGERT: Activity Design Studio– Interdisciplinary Graduate Program– Combining Design Studio and HCI Cultures– Proposed Using New and Existing Courses
Looking Forward
• Interest in a Third Undergraduate Course– Focused on the Guts of Interface Implementation– Major Missing Piece for Undergraduate HCI
• Considering HCI Concentration for CSE Students– Clear Market Demands for HCI
• Graduate Program Requirements Flexibility– Rigid Requirements Affect Grad Recruiting
Curricular Requests
• Realistic credits / course• More Emphasis on industry, C++, C#• Vet Undergrad TAs• Consistency between quarters - same class• Big jump between 143 & 300 level classes• More interdisciplinary courses• Better planning by profs for projects• In house stats & linear algebra classes
UW CS
142 143
370
303
321
378
326
322
341CompilersSoft Engr
AlgorithmsComplexityDatabases
OSVision
GraphicsNetworks
Embed SysArch
AIML
Choose any 4
Stat
LAlg
CalculusComp BioSecurity
HCI
Capstones?
CS Questions
• Really Required?– 322, 341?
• Math Curriculum– Calculus– Linear algebra– Statistics
UW CSE
142 143
370
303
321
378
326
322
341CompilersSoft Engr
AlgorithmsComplexityDatabases
OSVision
GraphicsNetworks
Embed SysArch
AIML
Choose any 2
Stat
LAlg
CalculusComp BioSecurity
HCI
CapstonesEE
CE Questions
• Math Curriculum Again• Really Required?
– 322, 341• Limited Electives
– Compilers really more important than ML?
Highest Level
• Curriculum reform is likely essential every 30-40 years
• What?
• How?– Faculty vs. Students