Home
>>    




Interest in Spring 2019 CS Courses and/or Preregistration

St. Olaf Computer Science, Fall 2018

For:

The CS program uses preregistration in order to insure that folks who need certain courses can get in, and to enable students to take courses at the right time for normal progress towards a potential CS major. You get into course(s) you need or want, in exchange for your first choice(s) during registration. We anticipate that our core and elective courses for Spring 19 will fill, so there's no other guarantee of getting into those courses.

Use the form below to submit your interests and preferences for preregistration to the CS program.
Please make your first submission of this form by Saturday night, 10/20/18.

Information about these courses and future scheduling may be found below the form.

          

Note: You may submit this form more than once if desired.

  • Any preference you enter will override any prior submissions of that preference;
  • Any comments you enter will be added (not override) any prior comments; and
  • any preference or comment you don't enter will remain unchanged from your latest submission of that preference (if there was one).

Submit what you know early, and adjust later as needed.

          
  1. For each relevant course below, please indicate your interest in taking and/or preregistering for that course in Spring 2019.
    Note: Leave blank any courses that you lack prerequisites for, have already taken, or don't want to change a prior response for.

    Spring 2019

    CS 121, Principles of Computer Science CS1
    CS 251, Software Design SD
    CS 263, Ethical Issues in Software Design ESD
    CS 253, Algorithms and Data Structures ADS
    CS 333, Theory of Computation TC
    CS 336, Logic Programming LP
  2. Optionally provide clarifications, rationale, or other comments.

Course information

CS 121, Principles of Computer Science
Course description.
Offered both semesters. Prerequisite: experience with college-level work (no prior programming experience required).
Introduction to fundamental CS concepts using the Python programming, with emphasis on applications to many other disciplines on campus.

CS 125, CS for Scientists and Mathematicians
Course description.
Offered both semesters. Prerequisite: Calculus and experience with college-level work (no prior programming experience required).
Introduction to fundamental CS concepts through applications of Data Science, using some Python and some R programming. Counts towards Statistics Concentration.

CS 241, Hardware Design
Course description.
Offered in Fall only. Prerequisite: CS1, CSS, or comparable CS experience.
A foundation course that serves as a prerequisite for PL and OS, and a good transition course before SD.

CS 251, Software Design
Course description.
Offered each semester. Prerequisite: CS1, CSS, or comparable CS experience.
SD is a prerequisite for nearly all CS core and elective courses.

CS 253, Algorithms and Data Structures
Course description.
Offered in the Spring twice in 2018-19 and once in 2019-20. Prerequisites: SD and a Mathematics proof course (such as Math 232, 244, or 252). Mathematical analysis of algorithms and data structures, and their implementation in C++.
Notes:
(1) ADS should be completed by the end of the Junior year, before CAP. Be sure to start Math courses early in order to have complete Linear Algebra and the proof course by Fall of Junior year.
(2) Most students do well to have a "first core course" (or the AI elective) before ADS.

CS 263, Ethical Issues in Software Design
Course description.
A core requirement for CS, offered in Spring 2019 and twice in 2019-20. Prerequisite SD.

CS 273, Operating Systems
Course description.
Offered Spring 2018 and in alternate years. Prerequisites: SD and HD.
The original and most standard Systems core course. A good choice for a "first core course."

CS 276, Programming Languages
Course description.
The only course in 2017-18 that satisfies the Language core requirement. (Two Language courses are planned for 2018-19.)
Prerequisite: SD; co-requisite HD.
In Fall 17, PL will be suitable as a "first core course".

CS 284, Mobile Computing Applications
Course description.
Offered Interim 2018 and in alternate years. Prerequisite: SD.
Java programming, Android app development, and related topics, with a team project.

CS 300, Topic: Cloud Computing
Course description.
Offered Spring 2018. Prerequisite: SD
Introduction to cloud computing, with applied projects. Offered by Prof. Noor, a specialist in mobile cloud computing (in which mobile devices function as the servers, e.g., for disaster relief).

ID 259, HiPerCiC Custom Web Apps
Course description.
Our primary web development courses, offered on an occasional basis.
Counts as an elective in the CS major, for majors who complete SD before this HiPerCiC.

CS 300, Topic: Artificial Intelligence
Course description.
Offered Fall 2018. Prerequisite: SD
An introductory elective course in Artificial Intelligence
Not a core course, but good as a first core/elective level course.

CS 300, Topic: Parallel and Distributed Computing
Course description.
Offered Fall 2018 and alternate years. Prerequisite: SD
All about programming with parallelism, with one or many computers
A good choice for a "first core course."

Planned CS offerings (as of March 2018)

2018-19

FallInterimSpring
CS121(2), CS125, HD, SD
AI, PDC, CAP(2)
CS121, SD(2)
ADS(2), ESD, LP, TC

2019-20

FallInterimSpring
CS121(2), CS125, HD, SD
CAP
CS121, CS125, SD(2)
ADS, ESD
Terms to be determined: ESD(one more), OS, MCA, PL; elective(s); CAP(one or two more)

2020-21

FallInterimSpring
CS121(2), CS125, HD, SD
CAP
CS121, SD(2)
ADS(2), ESD
Terms to be determined: ESD(one more), PDC, TC; elective(s), Language core course (one more); CAP(one or two more)