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.

CSCI 110
Introduction to Computing
4 credits
Crosby, Wheeler

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.

CSCI 111
Principles of Computer Science I
4 credits
Crosby, Mahoney, Wheeler

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

CSCI 112
Principles of Computer Science II
4 credits
Crosby, Mahoney

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: CSCI 111
CSCI 251
Computer Organization
4 credits
Chell

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: CSCI 112 and either MATH 107 or MATH 121
CSCI 256
Data Structures and Algorithms
4 credits
Mahoney, Wheeler

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

Prerequisite: CSCI 112
CSCI 271
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.

CSCI 305
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: CSCI 112
CSCI 321
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: CSCI 256
CSCI 341
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: CSCI 112
CSCI 345
Computer System Administration
4 credits
Crosby

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: CSCI 111
CSCI 353
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: CSCI 256 or with permission of instructor
CSCI 360
Data Communications
4 credits
Crosby, Mahoney

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

Prerequisite: CSCI 112
CSCI 373
Operating Systems
4 credits
Mahoney

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: CSCI 251
CSCI 375
Algorithms
4 credits
Wheeler

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

Prerequisite: CSCI 112 and either MATH 107 OR MATH 121
CSCI 400
Senior Seminar
1 credit
Staff

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

Prerequisite: Senior standing
CSCI 435
Software Design and Development
4 credits
Mahoney, Wheeler

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

Prerequisite: CSCI 256
CSCI 450
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: CSCI 256
CSCI 465
Computer Architecture
4 credits
Crosby, Mahoney

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

Prerequisite: CSCI 251
CSCI 471
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.

CSCI 481
Foundations of Computer Science
4 credits
Chell, Wheeler

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: CSCI 375
CSCI 490
Research in Computer Science
1-4 credits
Staff

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

Prerequisite: CSCI 112 and instructor approval