110 likes | 128 Views
UGCC Report, 11/29/05. Committee : Bettati, Gutierrez, Keyser, Jiheon Kwan (undergrad rep), Leyk, Loguinov, Petersen, Welch (chair) Meetings : Fridays 2-3 PM
E N D
UGCC Report, 11/29/05 • Committee: Bettati, Gutierrez, Keyser, Jiheon Kwan (undergrad rep), Leyk, Loguinov, Petersen, Welch (chair) • Meetings: Fridays 2-3 PM • Charge to the committee: Revise the undergraduate computer science curriculum, taking into account what was developed last year by the UGCC and the feedback from the 2004 and 2005 faculty retreats. • Target: Have a proposal to present to the faculty in the spring 2006 semester, with some of the new courses in place by fall 2006.
Overview of Years 1 and 2 • Need a major reorganization • how integrated should the new courses be? • Push more CS material here • students more competitive for internships after sophomore year • allow advanced courses to start at a higher level • facilitate a "track" system • necessitate moving some non-CS required courses later • Considering a seminar course early on • intro to department/profession • internship and research opportunities • "Programming studio" course would serve as a lower-level capstone course
Overview of Years 3 and 4 • Track system (several have already been proposed by UGCC and in retreat reports) • Add a capstone course • research experience could substitute for the capstone course as in computer engineering
Tentative Year 1 Fall • Seminar course • intro to department facilities and faculty • intro to computer science • intern and research opportunities • CS Sequence 1 "Intro to Programming & S/W Development" • fundamental programming constructs • algorithms and problem solving • fundamental data structures • recursion • overview of programming languages • software design • using APIs
Tentative Year 1 Spring • CS Sequence 2 "Data Structures and Algorithms" • basic algorithmic analysis • algorithmic strategies (greedy, etc.) • fundamental algorithms (divide carefully between here and an upper-level algorithms course)
Tentative Year 2 Fall • Discrete Structures (or move into Year 1?) • functions, relations, sets, basic logic • proof techniques • induction • basic automata theory • basic computability • CS Sequence 3 "Computer Organization" • digital logic and digital systems • machine level representation of data • assembly level machine organization • memory system organization and architecture • overview of compilers?
Tentative Year 2 Spring • CS Sequence 4 "Introduction to Computer Systems" • overview of operating systems • operating system principles (divide carefully between here and an upper-level OS course) • intro to net-centric computing • high-level overview of communication and networking • high-level overview of database systems • Programming Studio • more software design • more using APIs • software tools and environments • software processes • intro to software requirements and specifications
Still To Do • Refine plan for first two years: • what programming language(s) to use and in which order? • what to do about circuit design? • etc. • Tackle last two years: • effects on upper level courses of changes to lower level courses (particularly, algorithms, architecture, operating systems) • what should the tracks be? • what advanced courses should be mandatory? • keep supporting area? • etc.
Sources • Computing Curricula 2001 Computer Science Final Report, The Joint Task Force on Computing Curricula, IEEE Computer Society, ACM http://www.sigcse.org/cc2001/ • Web sites of various other computer science departments. The University of Illinois Department of Computer Science recently revised their curriculum along similar lines to those we've been discussing: http://www.cs.uiuc.edu/news/articles.php:id=2005Jun3-62
Meeting with Undergrads • Tonight, 6-7 PM, 124 Bright • Give them a short overview of what we've been talking about • Get their input • verbal • written survey (see handout for a draft)
Announcement • The UGCC has voted to change the prerequisite for CPSC 481 from "senior classification" to "CPSC 311 or CPSC 321 or ELEN 350 or permission of instructor". • Purpose is to get some of the information regarding job hunting, graduate school, research opportunities, etc. to the students a little earlier, while still waiting until they have had at least one serious upper-level computer science course.