Cornell - digshake/CSE131-Redesign GitHub Wiki

Audience(s)?

Learning Outcome(s)?

Programming Language(s)?

Course Structure

Teachability - Division of labor

Undergrad Community

TA Involvement

Cornell University:

  1. Three main introductory computing courses (CS1110, CS1112, CS2110) but none of them counted as core CS course but CS2110 serves as a pre-req for one core CS course CS3110 Pre-First year students: 2 credits (May not count towards Engineering degree)

  2. There are crash courses in Python (CS 1133) and MATLAB (CS 1132) available as well. https://classes.cornell.edu/browse/roster/SP23/class/CS/1133 https://classes.cornell.edu/browse/roster/SP23/class/CS/1132

  3. Extra: They also offer Data Science for all using R (CS1380) with no pre-req. https://classes.cornell.edu/browse/roster/SP23/class/CS/1380

CS 1110 – Introduction to Computing using Python Notes: Focus on basic programming development style and testing, assignments, conditional statements, function, iterations, recursion, array and vector, algorithms (basic searching and sorting and vector computation), exceptions, OOP-classes, subclasses, Inheritance, overriding. Weekly labs with help and assignments use GUIs https://www.cs.cornell.edu/courses/cs1110/2022fa/ (Fall22 course link)

Class size: biggest class with hundreds of students every semester.

Teaching style: Weekly two 50 minutes lecture sessions for theory & concepts. Two 50 minutes lab sessions for implementations individually. HW can be done with partners or alone. Assignments due every other week.

Management: one TA with multiple consultants are present in each lab session to help students, grade assignments, lead drop-in OH, etc. The structure seems similar to ours with TAs and section lead.

OH (virtual & in-person): 6 hours during weekdays and 9 hours on Sundays.

CS 1112 – Introduction to Computing using MATLAB Notes: focus on basic systematic development of algorithm and programs. Iterations, functions, arrays, recursion, OOP-classes, subclasses, Inheritance, overriding, fuzzy data, inexact arithmetic, randomness, simulation, and the role of approximation, graphics tools in MATLAB.

CS 2110 – Object Programming and Data Structures Notes: Intermediate java programing with focus on OOP (classes, objects, subclasss, types), GUIs, Algorithm complexity Analysis, recursion, testing, program correctness (loop invariants) searching/sorting, data structure (list, tree, stacks, queues, heaps, search trees, hash tables, graphs) graph algorithm

https://classes.cornell.edu/browse/roster/SP23/class/CS/2110

https://classes.cornell.edu/browse/roster/SP23/class/CS/1110

https://classes.cornell.edu/browse/roster/SP23/class/CS/1112

Core CS course: CS 3110 – Data Structures and Functional programming Note: focus on advances programming. Includes Recursive and higher order procedures, models of programming language evaluation and compilation, type systems and polymorphism. Graph algorithm, balanced trees, memory heaps and garbage collection. Program performance analysis and correctness.