From Computer Science
Revision as of 17:37, 15 November 2021 by Jkinne (talk | contribs) (CS BS, Core Sequence)
Jump to: navigation, search

This page is used to keep track of currently proposed curriculum changes for computer science. The page was last updated in the fall of 2021.


Math 320

Status: already approved

Math asked if we would count Math 320 as a prereq in place of CS 303 for CS courses they are including in their proposed Data Science BS. We approved updating CS 457&L, CS 475&L, CS 557, CS 575 to allow Math 320 as a prereq in place of CS 303. Those are already approved and will be in effect for fall 2022. The proposed Data Science BS in curriculog:

High Impact Practice

Status: approved by department, being considered by foundational studies

We have proposed to add CS 499 to the new High Impact Practice (HIP) category. The proposal in curriculog:

Math 241

Status: needs department vote

Proposed change is to require Math 241 for the CS BS. Currently the CS BS requires either Math 241 or Math 341. Since Math 241 is a prereq for Math 341, it is simpler to just require Math 241.

CSS courses

Status: needs department vote, Crim has indicated support

Proposal to create new courses CS 210, CS 211, CS 331 that are cross-listed with the CSS versions. This would allow us to schedule our own sections of these classes without needing to wait on the School of Criminology to schedule them for us. Note that the rules for cross-listed courses (at - both departments would need to approve the proposal and then any changes to the courses later on.

CS 470, UDIE

Status: being worked on in the department

R.B. Abhyankar is working on potentially submittting CS 470 as an Upper Division Integrative Elective. Information on UDIE's is here - and information about proposing Foundational Studies courses is here -

CS 151, prereq

Status: needs discussion

Placement test was not technically required for fall but was strongly recommended, and Jeff hounded the students who registered for CS 151 to have them take the placement test to make sure they would be ready. The placement test is in Canvas and was a series of auto-graded quizzes that has them: read about python and answer a few super easy questions, read about linux terminal and answer super easy questions, install python / run a program / put the result into the quiz, install putty/terminal / use a few commands on the system to get info to put into quiz, checkout and handin an assignment on the server.

Some data of what happened to the students who were enrolled in CS 151 to begin the semester and what things looked like by Nov 11.

  • 70 enrolled at the start of term or during first week
  • 38 passed placement
    • 4 switched to 101 (current 101 grades - 97, 94, 68, 69), rest have average grade that is +10% points (full letter grade) compared to their section average (and 23 have B- or higher, 5 C, 3 D, 3 F)
  • 5 had between 90 and 100% on placement but did not fully complete
    • 2 switched to 101 (current 101 grades - 78%, 11%), 1 dropped 151 after 2nd week, 1 is in 151 and grade is B, +12% compared to their section average
  • 16 started placement, not close to finishing
    • 5 dropped 151 before 2nd week (CS 101 grades - 70, 80, 87), 1 dropped 151 after 2nd week, other 10 still in 151 and have average grade that is 11% points lower than their section average (2 Bs, 3 Ds, 5 Fs)
  • 11 never started placement
    • 7 dropped 151 before 2nd week (CS 101 grades - 85, 20, 88, 78), 1 dropped after 2nd week, other 3 have grade that is -63% compared to their section average (none are passing)
  • A handful of students withdrew for the semester or changed majors (so were enrolled in CS 151 but not enrolled in CS 151 or CS 101 currently).
  • Conclusions...
    • Passed or close to passing the placement test who stayed in CS 151: 24/36 have B- or higher
    • Did not take or not close to finishing placement test who stayed in CS 151: 2/15 have C or higher

CS BS, Core Sequence

Status: needs discussion

Discuss and reevaluate what goes in each of the courses in the core CS sequence (CS 101, 151, 201, 202, 303, 351). Starting point for discussion...

  • CS 101 Fundamentals of Computing - 1/3 python, 2/3 other (linux, base systems, number formats, computing vocab)
  • CS 151 Introduction to Computer Science - 2/3 python, 1/3 other (linux, base systems, number formats, searching (linear/binary), sorting)
  • CS 201 Programming Structures - 2/3 python (with focus on object-oriented), 1/3 other (searching/sorting, theoretical understanding of python data structures)
  • CS 202 Data Structures and Algorithms - little to no programming, 1/2 good understanding of how various DS & algs work, 1/2 "theory" (proofs of correctness / run-time, big O analysis, correct use of asymptotic notation)
  • CS 303 Discrete Structures and Computing Theory - 1/2 structures (integers, integers mod p, graphs, automata/ regular expressions, matrices, grammars), 1/2 "theory" (proofs of all of these, some overlap with CS 202, probability/counting), some programming (to build confidence)
  • CS 351 Computer Organization - 1/2 assembly/C, 1/2 ?

See also learning outcomes for those courses.


MS Data Science

Status: needs discussion

Data science concentration: CS 501, 557, 575, MATH 503, 540. Half of credits have to be 600 level, currently 33 credits. No room for any 500-level electives, but want them to take CS 500 as well.

Solutions: (a) they don't have to take CS 500, (b) they have to take CS 500 and will end up taking 36 credits, (c) drop one of the required 500 level courses, (d) change degree to be 30 credits, so 15 credits of 600 is enough, they ed up taking 33 credits.

Discussion of requiring CS 500 - yes, they should all take it.

Make a proposal for what it would look like.

Other option - change MATH 503, 540, make them 600 level or not required. Check with Math. Math says 503 is being used in their BS, so definitely don't want to make 600 level, didn't express opinion about 540.

Or, drop CS 575, make CS 601 a two semester sequence.


Status: needs discussion

The thought is to have a graduate CS certificate for those who want to do some CS coursework but don't need a whole degree. The university suggests 12-18 credits, the cert must be distinguished somehow from the MS itself, can use 12 credits shared with the MS. The rules are at

A starting point for discussion...

  • Applied Computer Science: CS 500 or CS 501, choose combination of other courses that are applied and more doable for people without a CS BS, include CS 600 or not


Status: needs discussion, need to put some initial thoughts here

Working up notes - CS Training