Share This

CSC 103 - Syllabus

Computer Science
0

CSC 103 - Syllabus

The City College of New York • Grove School of Engineering • Computer Science Department • Course Syllabus

Course number

CSc 10300

Course name

Introduction to Computing

Credits & hours

3 cr., 3 hr.

Course coordinator

Prof. William Skeith

 

Textbook, title, author, and year

  • Programming: Principles and Practice Using C++, by Bjarne Stroustrup, 2014
  • Other supplemental materials: web available materials related to course work

Specific course information

  • Basics of procedural computer programming (primarily in C++). This includes an understanding of datatypes and variables, branching and looping constructs, pointers and recursion. Basic hardware components in a typical computer system. Also covered are elementary data structures, the standard template library, the basics of object oriented programming, and basics of security-conscious programming.
  • Prereq.: Math 19500
  • Required course

Specific goals for the course and Relationship to student outcomes

 

1

2

3

4

5

6

a. the student acquires basic understanding of the structure and operation of a computer and familiarity with a unix/linux operating system

I

         

b. the student acquires proficiency in programming with control structures appropriate to the intro course (including recursion)

 

I

       

c. the student acquires knowledge of programming with array-like structures

 

I

       

d. the student acquires knowledge of standard library objects and functions, such as strings and input/output

         

I

e. the student acquires proficiency in problem solving with procedural programming, and knowledge of procedural programming idioms

I

I

       

f. the student develops a basic understanding of software related security issues such as manipulation of the call stack and insecure object references

     

I

   

I - introductory-level; R - reinforced-level; P - program-level

Brief list of topics to be covered

Week

Topics

1

The basics of computing (basic concepts; hardware components)

2

Compiling and linking programs

3

Datatypes, variables and expressions

4

Flow of control (conditionals, looping, functions)

5

Scope and lifetime of variables

6

Elementary data structures (strings, vectors, sets, etc.)

7

Debugging

8

The basics of classes in C++

9

Introduction to recursion; anatomy of runtime stack; call stacks and security implications

10

Abstraction, Interfaces, Polymorphism

11

More data structures: lists and maps

12

Pointers and dynamic memory management

13

Introduction to complexity and analysis

14

Graphical interfaces; course wrap-up