16.01.2015 Views

CS2013-final-report

CS2013-final-report

CS2013-final-report

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Programming Languages and Techniques I, University of<br />

Pennsylvania<br />

Philadelphia PA<br />

Stephanie Weirich, Steve Zdancewic, and Benjamin C. Pierce<br />

cis120@cis.upenn.edu<br />

http://www.seas.upenn.edu/~cis120/<br />

Knowledge Areas that contain topics and learning outcomes covered in the course<br />

Knowledge Area<br />

Total Hours of Coverage<br />

Programming Languages (PL) 24<br />

Software Development Fundamentals (SDF) 13<br />

Algorithms and Complexity (AL) 2<br />

Discrete Structures (DS) 1<br />

Human-Computer Interaction (HCI) 1<br />

Where does the course fit in your curriculum<br />

Prerequisites: This is a second course though students with prior programming experience or an AP course often<br />

do not take the first course (CIS110, which covers fundamentals of computer programming in Java, with emphasis<br />

on applications in science and engineering).<br />

Following courses: Discrete Math for CS students (CIS 160), Data structures (CIS 121), Intro to Computer<br />

Systems (CIS 240)<br />

Requirements: The course is required for CIS and related majors, but optional for all other students. Enrollment is<br />

currently 160 students per term.<br />

Student level: Most students are in their first or second year, but there are some non-CS exceptions<br />

What is covered in the course<br />

• Programming Design and Testing<br />

• Persistent Data Structures & Functional programming<br />

• Trees & Recursion<br />

• Mutable Data Structures (queues, arrays)<br />

• First-class computation (objects, closures)<br />

• Types, generics, subtyping<br />

• Abstract types and encapsulation<br />

• Functional, OO, and Event-driven programming<br />

What is the format of the course<br />

Three 50-minute lectures per week + one 50 minute lab section (lead by undergraduate TAs)<br />

How are students assessed<br />

Two midterm exams, plus a <strong>final</strong> exam<br />

- 377 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!