Difference between revisions of "Computer Science Placement"

From Computer Science
Jump to: navigation, search
(Computer Science Placement Assignment and Interview)
(CS 101 Fundamentals of Computing)
Line 4: Line 4:
  
 
==CS 101 Fundamentals of Computing==
 
==CS 101 Fundamentals of Computing==
This course has no prerequisites.  The main goals are to give students practical understanding of computing to become well-informed citizens and professionals in the computing age.  Along the way, students become familiar with using the Linux operating system, installing and using a programming language, and beginning to program in Python.
+
This course has no prerequisites.  The main goals are to (a) give students practical understanding of computing to become well-informed citizens and professionals in the computing age, (b) have students become familiar with using the Linux operating system, installing and using a programming language, and beginning to program in Python.
  
 
==CS 151 Introduction to Computer Science==
 
==CS 151 Introduction to Computer Science==

Revision as of 18:24, 12 July 2021

This page contains information about placement for computer science courses. For incoming students who have some previous computer science coursework, this page contains information about placing into the appropriate first CS course at ISU.

Course Prerequisite Knowledge/Skills

CS 101 Fundamentals of Computing

This course has no prerequisites. The main goals are to (a) give students practical understanding of computing to become well-informed citizens and professionals in the computing age, (b) have students become familiar with using the Linux operating system, installing and using a programming language, and beginning to program in Python.

CS 151 Introduction to Computer Science

Prerequisite skills and knowledge -

  • Ability to use the Linux operating system (in particular using the shell/terminal)
  • Able to install and use a programming language
  • Able to troubleshoot and learn some aspects of programming on one's own using online resources

Students with no previous computer science experience should start in CS 101 rather than CS 151.

CS 201 Programming Structures

Prerequisite skills and knowledge -

  • CS 151 prerequisite skills/knowledge
  • Competent programmer in Python, including use of modules and appropriate use of Python containers (lists, dictionaries, tuples)

Note that Python is a prerequisite for this course, so transfer students with credit for CS 151 but without experience with Python need to work independently to get up to speed with Python before the term starts.

CS 202 Data Structures and Algorithms

Prerequisite skills and knowledge -

  • CS 201 prerequisite skills/knowledge
  • Proficient programmer in Python, including object-oriented programming and experience developing (and debugging and testing) large programs independently
  • Understanding of basic data structures

CS 500 Programming Fundamentals

Prerequisite skills and knowledge -

  • Competent programmer in some programming language
  • Able to troubleshoot and learn a programming language on one's own using online resources
  • Understanding of basic data structures (arrays, linked lists, binary search trees, hash tables, etc.)

CS 501 Programming for Data Science

Prerequisite skills and knowledge - Prerequisite skills and knowledge -

  • Competent programmer in some programming language
  • Able to troubleshoot and learn a programming language on one's own using online resources
  • Understanding of basic data structures (arrays, linked lists, binary search trees, hash tables, etc.)

Computer Science Placement Assignment and Interview

Basic tasks on the assignment/interview...

  • CS 151
    • Install python on one's computer, download python file, run python file, submit output (auto-graded by CMS).
    • Small modification to python program, submit output (auto-graded by CMS).
    • Get login information to CS server from course management system, connect to CS server, login, get information on the system using appropriate commands and submit results (auto-graded by CMS).
    • Login to CS server, checkout assignment, follow directions in README, handin.
  • CS 201
    • CS 151 tasks
    • Python programming problems that involve: compound Boolean logic, nested loops, defining and using functions, fixing syntax errors, fixing logical errors.
    • Questions on: binary/decimal/hex, Linux commands
  • CS 202
    • CS 151, 201 tasks
    • Python programming problems that involve: making a program that is too slow faster (use appropriate container, avoid nested loops).
    • Questions on: linear search, binary search, sorting (fast and slow).
  • CS 500
    • CS 151, 201, 202 tasks (except they can use any language)
  • CS 501
    • CS 151, 201, 202 tasks (except they can use any language)