Academics

Connections 20016. Logic and Programming

Logical equivalence, propositional expressions and clear reasoning are cornerstones of learning to write computer programs or software. Further grounding in logical reasoning will help students in computer science to see a theoretical side of programming and the philosophical side of writing collections of statements in languages that make machines perform logical instructions. Philosophy students will benefit by focusing on the use and application of logic in the writing of computer programs and will come to see, firsthand, the point of logical precision.

Connected Courses

Problem-solving techniques and algorithm development with emphasis on program design, introductory numerical methods and object-oriented programming from the client perspective. Some form of robot, either virtual or real, is used to augment course content. This course is intended for those seeking a thorough and rigorous exposure to programming; an ideal course for those considering graduate […]

An introduction to the theoretical and practical aspects of data structures. Emphasis is on abstract data types and the use of the C++ class mechanism to support their implementations. Examples include stacks, queues, linked lists, binary search trees and general trees and their applications. Pointers and recursion are used in some implementations. Three hours of […]

An introduction to categorical, propositional and predicate logic with particular emphasis on methods of discovering and proving the validity of arguments. Designed to improve students’ ability to reason clearly and precisely. Analysis of logical equivalence, soundness and the relation of truth to validity.