Computer Science

Courses

Students studying computer science at Carthage take courses in discrete structures, calculus, programming, database design and management, software design and development, data structures and algorithms, and computer organization.

CSC 1100
Introduction to Computing
4 credits

An introduction to the art and science of computer programming for the student without previous programming experience. Topics covered include the historical development of computing, the basic operating principles of computers, and an introduction to problem-solving using one or more high level computing languages, such as Javascript. HTML and Web programming also are introduced. Fall/Spring.

CSC 1110
Principles of Computer Science I
4 credits

A study of the fundamentals of writing computer programs and problem-solving, using structured and object-oriented techniques. Fall/Spring.

CSC 1120
Principles of Computer Science II
4 credits

The emphasis of this course is on problem-solving. Students will mature as problem solvers as they are presented with increasingly challenging problems to program.

Prerequisite: CSC 1110
CSC 200T
Topics in Computer Science
1-4 credits
Staff

A course of variable content on topics not covered in other courses offered by the department. Possible topics may include artificial intelligence, computer graphics, functional programming, human-computer interaction, object-oriented programming, and other advanced topics in computer science.

CSC 2510
Computer Organization
4 credits

A study of the logical organization of computers, including combinatorial and sequential digital logic, computer arithmetic, and circuits. Machine and assembly languages, memory, addressing techniques, interrupts, and input-output processing also are studied.

Prerequisite: CSC 1120 and either MTH 1060 or MTH 1240. Spring.
CSC 2560
Data Structures and Algorithms
4 credits

An examination of advanced programming techniques for problem-solving and manipulating data using primarily object-oriented approaches.

Prerequisite: CSC 1120. Fall.
CSC 3050
Object-Oriented Programming
4 credits
Staff

An introduction to object-oriented design techniques including encapsulation, inheritance, and polymorphism. Other features of modern object-oriented programming languages are covered as well, including exception handling, garbage collection, event handling, and threads. A modern object-oriented language such as Java will be used.

Prerequisite: CSC 1120
CSC 3210
Computing Paradigms
4 credits
Staff

A survey of language-design issues and run-time behavior of several programming languages suitable for different problem-solving paradigms (structured, functional, object oriented).

Prerequisite: CSC 2560
CSC 3410
Database Design and Management
4 credits
Staff

An introduction to database methods including data models (relational, object oriented, network, and hierarchical); database design and modeling; implementation and accessing methods; and SQL. Students will design and implement a database using a database management system.

Prerequisite: CSC 1120. Spring.
CSC 3450
Computer System Administration
4 credits

A practical development of principles and technologies for the administration of computer networks. Topics covered include installation, mail services, administering users, disk space, peripherals, backups, maintenance, security, and intercomputer communications. Special schedule.

Prerequisite: CSC 1110. J-Term.
CSC 3530
Artificial Intelligence and Cognitive Modeling
4 credits
Staff

This course explores the primary approaches for developing computer programs that display characteristics that we would think of as being intelligent. Students will analyze how intelligent systems are developed and implemented with a focus on exploring how human behavior on cognitive tasks can be used to inform the development of these artificial systems, as well as how the performance and behavior of these artificial systems can inform our understanding of human cognition.

Prerequisite: CSC 2560 or with permission of instructor
CSC 3600
Data Communications
4 credits

An examination of data communications and communications networks including signal encoding, multiplexing, circuit and packet-switched networks, TCP/IP, WANs, LANs, and intranets.

Prerequisite: CSC 1120. Fall.
CSC 3730
Operating Systems
4 credits

A study of the basic components and concepts of a multitasking operating system including processes; scheduling; resource management; I/O and file systems; virtual memory; security; and semaphores.

Prerequisite: CSC 2510. Spring.
CSC 3750
Algorithms
4 credits

This course studies various problem-solving strategies and examines the classification, design, complexity, and efficiency of algorithms.

Prerequisite: CSC 1120 and either MTH 1060 OR MTH 1240. Spring.
CSC 4000
Senior Seminar
1 credit
Staff

Students review and discuss current issues and trends in Computer Science.

Prerequisite: Senior standing. Fall.
CSC 400T
Topics in Computer Science
1-4 credits
Staff

A course of variable content on topics not covered in other courses offered by the department. Possible topics may include artificial intelligence, computer graphics, functional programming, human-computer interaction, object oriented-programming, and other advanced topics in computer science.

CSC 4350
Software Design and Development
4 credits

An examination of the software development process from analysis through maintenance using both structured and object oriented methods. Students conduct a team project.

Prerequisite: CSC 2560. Fall.
CSC 4500
Independent Study
2-4 credits
Staff

Independent study in a topic of interest in computer science that does not duplicate any other course in the regular course offerings.

Prerequisite: CSC 2560
CSC 4650
Computer Architecture
4 credits

Students examine various computer architectures including the von Neuman mode, RISC/CISC, and parallel architectures.

Prerequisite: CSC 2510. Spring.
CSC 4810
Foundations of Computer Science
4 credits

This course examines various models of computation, including finite and pushdown automata and recursive functions. Language grammars, parsing, and complexity classes also are studied. Special schedule.

Prerequisite: CSC 3750. Spring.
CSC 4900
Research in Computer Science
1-4 credits
Staff

An opportunity to conduct research in computer science, culminating in a research paper.

Prerequisite: CSC 1120 and instructor approval