Fundamentals of Computer Science
A broad survey of the core ideas of computer science, from data representation and computer architecture to operating systems and algorithms.
- Semester
- Spring semester
- Level
- Undergraduate
- Length
- 16 weeks
Course aims
To help students understand how a computer represents and processes data, and to introduce algorithmic thinking and complexity.
Learning outcomes
Students who complete this course will be able to:
- Converts between number systems and explains how data is represented in memory.
- Designs simple logic circuits and simplifies Boolean expressions.
- Explains how the processor, memory and operating system work together.
- Compares searching and sorting algorithms by their complexity.
Assessment
| Component | Weight |
|---|---|
| Midterm exam (week 8) | 40% |
| Final exam (week 16) | 60% |
Resources
- J. Glenn Brookshear, Dennis Brylow, Computer Science: An Overview, Pearson
Weekly syllabus
-
1
Week 1 An overview of computer science
-
2
Week 2 Number systems and data representation
-
3
Week 3 Logic gates and Boolean algebra
-
4
Week 4 Computer architecture: processor and memory
-
5
Week 5 Machine language and the evolution of programming languages
-
6
Week 6 Operating systems: processes and resource management
-
7
Week 7 Computer networks and how the internet works
-
8
Week 8 Exam Midterm exam
-
9
Week 9 Algorithms and problem solving
-
10
Week 10 Searching and sorting algorithms
-
11
Week 11 Algorithmic complexity
-
12
Week 12 Data structures: arrays, stacks and queues
-
13
Week 13 Introduction to databases
-
14
Week 14 Artificial intelligence and the limits of computation
-
15
Week 15 Review
-
16
Week 16 Exam Final exam