Class Webpage: CIS213

                          Foundations of                 

                          Computer Science

Computer Science Dept

Spelman College

Atlanta, GA 30314

 

 

Course Overview

 

Syllabus

Instructor Information

 

TA Information

Lectures

Programming Assignments

Labs

Homework

 

Supplements

Course Overview

Welcome to the Foundations of Computer Science course at Spelman College. This course provides the theoretical foundation for understanding subsequent courses in computer science: the calculations, abstractions, and proof techniques that are important in understanding how algorithms work and how fast or efficient they are. It provides a transition from the simple data structures of your first programming courses to the sophisticated data structures of an advanced algorithms course. Finally, it provides a breadth of vision as to what computer science is all about Ð what topics and research issues it comprises Ð thereby preparing the student fro advanced courses.

 

My philosophy in this course is that while we will discuss algorithms and theoretical concepts; it is imperative that you understand the impact on Òreal-worldÓ circumstances. Therefore, I use the labs as a way of applying the techniques we discuss in lecture to make those concepts more concrete. In addition, I will provide Òreal-worldÓ examples where appropriate to show the effects of the data structure and/or algorithm characteristics.

Instructor

Prof. Charles R. Hardnett

Room 219 Tapley

hardnett@spelman.edu

404-270-5880

Office Hours: M  2p-4p,

                         W 1p-3p, and by appt.

 

Back to TOP

TAs

Quanta Graves

Room 223 Tapley

qgraves@spelman.edu

404-758-4281

Office Hours: Thurs 5-8

                          Sun 6-8

 

 

Back to TOP

Lecture Links

The lecture notes are provided as PDF files where 2 slides are printed per page to save trees J. The lectures are listed in order by chapter, but not necessarily the order in which they will  be covered.

 

Chapter 1

Chapter 2.1-2.3 Chapter 2.4-end

Chapter 3

Chapter 5

Chapter 7

Chapter 9

Chapter 10

Chapter 11

 

Back to TOP

 

 

Project Assignments

The project assignments are extensions of the lab work.

 

Programming Assignment #1

Programming Assignment #2

Programming Assignment #3

Programming Assignment #4

 

Back to TOP

Lab Links

This course is accompanied by a lab that has required attendance. The labs will serve as the means to reinforce lecture material and provide introductions to the programming assignments. Below is the lab schedule for the semester including the content (TBD).

 

Lab #1

Lab #1.5

Lab #2

Lab #3 (recitation on induction and loop invariants)

Lab #4

Lab #5

Lab #6

Lab #7

Lab #8

Lab #9

Lab #10

Lab #11

Lab #12

Lab #13

 

Back to TOP

Self-Study Questions (Homework)

Self-Study assignments are not graded in this course. The solutions are available in my office. Homework should be completed to keep up with the concepts in class as well as prepare you to take quizzes and exams.  In general, the higher numbered questions are the more difficult questions.

 

Chapter 1

None

 

Chapter 2

2.2.1,  2.2.5, 2.2.11, 2.2.12

2.3.1, 2.3.3, 2.3.10, 2.3.11, 2.3.12

2.4.1, 2.4.2, 2.4.4, 2.4.7

2.5.1, 2.5.2

2.6.2, 2.6.4, 2.6.5

2.7.1, 2.7.2, 2.7.3

2.8.1, 2.8.2

2.9.1, 2.9.2

 

 

Chapter 3

3.3.1, 3.3.2, 3.3.3

3.4.1, 3.4.2

3.6.1, 3.6.2, 3.6.3, 3.6.5, 3.6.6

3.7.1, 3.7.2, 3.7.4

3.8.1, 3.8.2, 3.8.3

 

 

Chapter 5

5.2.1, 5.2.2, 5.2.3, 5.2.6

5.3.1, 5.3.2, 5.3.3

5.4.1, 5.4.2, 5.4.5, 5.4.6

5.5.1, 5.5.3

5.6.1, 5.6.2, 5.6.4, 5.6.5

5.7.1, 5.7.2, 5.7.3, 5.7.4, 5.7.6

 

Chapter 7

TBD

 

Chapter 9

TBD

 

Chapter 10

TBD

 

Chapter 11

TBD

 

Breadth Information

 

Back to TOP

Supplemental Material

This material is to be used by the students as a supplement to the other materials in the class.

 

C++ Reference

Computer Science Areas of Research

The Spelman College CS Dept Standard Coding Style

Compiler Errors: What to do?

 

Back to TOP