What Do CS1 Syllabi Reveal About Our Expectations of Introductory Programming Students?

Illinois Institute of Technology - Object Oriented Programming 2

Country: USA
University: Illinois Institute of Technology
Course code: CS116
Course title: Object Oriented Programming 2
Date of Syllabus:
Source: Manual search
Associated Degrees: Computer Science
Prerequisits: CS115
Course for Majors: y
Course stage: 1
Semester: 2
Programming language: None
Language of Instruction: English
URL: https://science.iit.edu/sites/science/files/field_uploads/course-descriptions/attachments/cs116.pdf
Explicit or !Explicit LOs: Explicit
Learning Outcomes:

Analyze and explain the behavior of simple programs involving the following fundamental programming constructs: assignment, I/O (including file I/O), selection, iteration, functions, pointers

Write a program that uses each of the following fundamental programming constructs: assignment, I/O (including file I/O), selection, iteration, functions, pointers

Break a problem into logical pieces that can be solved (programmed) independently

Develop, and analyze, algorithms for solving simple problems

Use a suitable programming language, and development environment, to implement, test, and debug algorithms for solving simple problems.

Write programs that use each of the following data structures (and describe how they are represented in memory): strings, arrays, structures, and class libraries including strings and vectors

Explain the basics of the concept of recursion

Write, test, and debug simple recursive functions and procedures

Explain and apply object-oriented design and testing involving the following concepts: data abstraction, encapsulation, information hiding, sub-classing, inheritance, templates

Use a development environment to design, code, test, and debug simple programs, including multi-file source projects, in an object-oriented programming language.

Solve problems by creating and using sequential search, binary search, and quadratic sorting algorithms (selection, insertion)

Determine the time complexity of simple algorithms

LO categories:

Designing Algorithms

“Fundamentals of Programming”

Problem Solving (also things like computational thinking)

Program Comprehension

Basic OOP

Abstraction

Encapsulation

Inheritance

Data Structures (general or implied complex like stacks, queues etc)

Repitition & loops (for/while etc)

Functions, methods and procedures

Arrays, Lists, dictionaries, vectors, sets

Strings

Pointers

Searching algorithms

File handling & I/O

Testing & Debugging code

IDE use

Evaluating Time/Space Complexity

Recursion