Foundations of Computer Science II

Course Description

High level concepts in the theoretical foundations of computer science. Prerequisite: Grade of at least C- in CSC 250, or permission of instructor.

Syllabus

Student Learning Outcomes, Goals, Objectives:

The goal of this course is to introduce the theoretical foundations of computer science, including elementary and predicate logic, logic programming, order relations, discrete probability, graph theory, and finite automata and regular languages. The course emphasizes mathematical reasoning, formal methods, and models of computation.

Students successfully completing this course will be able to:

  • define basic terminology relating to logic, discrete probability, language and automata;

  • practice the application of appropriate mathematical principles used to create logical expressions, languages and automata;

  • evaluate logical expressions, languages and automata.

Course Grading Information:

Activity/Performance Measure

Percentage/Points

Assignments

40%

Exam-1

20%

Exam-2

20%

Exam-3

20%

Grading Scale:

Percentage

Letter Grade

100 - 94%

A

< 94 - 90%

A-

< 90 - 87%

B+

< 87 - 84%

B

< 84 - 80%

B-

< 80 - 77%

C+

< 77 - 74%

C

< 74 - 70%

C-

< 70 - 67%

D+

< 67 - 64%

D

< 64 - 61%

D-

< 61%

F

Attendance/Participation:

Instructor reserves the right to drop any student from the course after three (3) absences or for any student who misses submitting 2 assignments in a row.

The Withdrawal Due to Class Attendance form serves as a request to withdraw students from class due to excessive absences.

Course Materials Purchased by the Students:

Discrete Structures, Logic, and Computability, by: James L. Hein. Jones and Bartlett, 4th edition(ISBN: 978-1-284-07040-8).

Scholarly Perspectives

This course engages diverse scholarly perspectives to develop critical thinking, analysis, and debate and inclusion of a reading does not imply endorsement.