CISC 121/3.0 Introduction to Computing Science I

Original Author: Bob Tennent
Most Recent Author: Wendy Powley
Last Revised: 2019-03-20

Calendar Description

Introduction to design, analysis, and implementation of algorithms. Recursion, backtracking, and exits. Sequences. Elementary searching and sorting. Order-of-magnitude complexity. Documentation, iterative program development, translating natural language to code, testing and debugging.

Learning Hours: 120 (36L; 84P)

Recommendation: Some programming experience (such as high-school level programming or CISC 101/3.0 or CISC 110/3.0 or CISC 151/3.0) will be expected; see Introductory Courses in Departmental Notes.

Corequisite: CISC 102/3.0 or MATH 110/6.0 or MATH 111/6.0 or MATH 112/3.0 or MATH 120/6.0 or MATH 121/6.0 or MATH 123/3.0 or MATH 124/3.0 or MATH 126/6.0 or APSC 171/3.0 or APSC 172/3.0 or APSC 174/3.0 or COMM 161/3.0 or COMM 162/3.0.

Degree Planning

  • This course is required in all Computing programs.
  • This course is a direct prerequisite to:
    • CISC 124/3.0 (Introduction to Computing II)
    • CISC 203/3.0 (Discrete Mathematics for Computing II)
    • CISC 204/3.0 (Introduction to Computing II)
    • CISC 220/3.0 (System-Level Programming)
    • CISC 221/3.0 (Computer Architecture)
    • CISC 271/3.0 (Linear Data Analytics)
  • basic python (3 weeks)
  • software development process including translating natural language to code, documentation, debugging and testing (3 weeks)
  • searching and sorting (2 weeks)
  • computational complexity (2 weeks)
  • recursion (2 weeks)
The programming language used in this course is Python.