March 31, 2023 - digshake/CSE131-Redesign GitHub Wiki
Current state of 131 (Spring 2023)
Flipped classroom: pre studio prep is required to be completed before the studio exercises which are TA led in small groups. Students then complete a homework assignment on their own to demonstrate competence in the topic.
Exams and quizzes are used to test mastery of the material, and extensions are intended to provide a student driven element to the course by allowing students to select which problems they work on from a pool of available problems.
See here for the list of learning outcomes developed by the curriculum committee.
Commonly Cited Problems From Students
-
Too easy / Too hard
-
Too many "things"
-
No incentive to do prep / prep work not effective
-
Exams do not reflect concepts taught
-
Don't see the instructor(s) enough
Main questions to consider
-
Audience(s)?
-
Learning Outcome(s)?
-
Programming Language(s)?
-
Course Structure
-
Teachability
-
Undergrad Community
-
TA Development
Next steps
-
Jon - CS50 / Harvard, Harvey Mudd
-
Dennis - CMU, Grinnell
-
Doug - Penn, Duke
-
Bill - UIUC, Rose Hulman
-
Nathan - Kentucky, Ohio State
-
Neha - Vanderbilt, Cornell
-
Ron - Rice
School Summaries
Rice University
-
Summary: They offer majors 3 distinct introductory courses
- Comp 130 Elements of Algorithms and Computation, has become like 140, but most examples from liberal arts
- Comp 140 Computational Thinking, seems to have the broadest appeal, used by multiple majors
- Comp 160 Intro to Game Programming in python (prereq, oddly, experience with Java)
-
Comp 140
- Online version (Fall only) or face-to-face version (Fall and Spring)
- Exams are always in-person for both types of sections
- Similar goals to our 131: Not just about programming but how computer scientists think about solving problems
- Problems drawn from social sciences, sciences, engineering
Ohio State University
-
Summary: They teach the intro sequence in Java and provide an optional course that seems to attempt to match the AP CS course.
-
CSE 1223: Introduction to Computer Programming in Java
-
doesn’t count for credit, can be tested around to go into 2221
-
CSE 2221 and 2231 Software 1 and 2 8 (4+4)
-
Notes:
-
Taught in Java
-
4 credits, two one-hour lectures and two one-hour labs
-
http://web.cse.ohio-state.edu/software/2221/web-sw1/syllabus.html
-
CSE 2321 and 2331 Foundations 1 and 2 6 (3+3)
-
CSE 2421 and 2431 Systems 1 and 2 7 (3+4)
Notes from a discussion w/ a current student:
- Common Freshman Year Course : C++ (robotics) and Matlab
- Software 1:
- Java, assumes no prior programming knowledge
- 2 hours of lecture, 2 hours of labs
- most homework is graded for completion
- 2 TAs are assigned to each lab (which has around 40 students)
- Students are expected to go to the office hours that correspond to their section
- all lecture slides are standardized
- mostly lecturers but some graduate TAs
- Software 2: (the one my daughter is TA’ing for)
- http://web.cse.ohio-state.edu/software/2221/web-sw1/schedule.html
- It’s essentially the same as Software 1
- Systems 1:
- TAs are shared across sections which she likes a lot better, because you can always find someone to help
University of Kentucky
Very similar to Ohio State University.
- EGR 102: FUNDAMENTALS OF ENGINEERING COMPUTING
- Notes: Matlab, taught by common engineering freshman year faculty (one of whom is a CS faculty)
- Catalog Description: Fundamentals of Engineering Computing introduces students to the practice and principles of computer programming and computational problem solving. Students will engage in hands-on project-based problem solving using modern computer software and hardware, with a particular emphasis on problems and techniques commonly appearing in various domains of engineering.
- CS 115 INTRODUCTION TO COMPUTER PROGRAMMING
- Notes: Old intro programming course (and gap filler for non-traditional students)]
- Catalog Description: This course teaches introductory skills in computer programming using a high-level computer programming language. There is an emphasis on both the principles and practice of computer programming. Covers principles of problem solving by computer and requires completion of a number of programming assignments.
- CS 215 INTRODUCTION TO PROGRAM DESIGN, ABSTRACTION, AND PROBLEM SOLVING:
- Notes: C++, Quite a bit of what used to be in CSE 115 had to be pushed into this course because of the broader coverage of EGR 102.
- Catalog Description: The course covers introductory object-oriented problem solving, design, and programming engineering. Fundamental elements of data structures and algorithm design will be addressed. An equally balanced effort will be devoted to the three main threads in the course: concepts, programming language skills, and rudiments of object-oriented programming and software engineering. Prereq: EGR 102 or CS 115 or equivalent.