Course Descriptions
Scroll down to read descriptions of the computer science courses offered at Carthage, or click on these links for additional resources:
CSC 1030
Data Science I
4cr
This class introduces students to the foundational skills needed for data analysis: data manipulation and visualization, statistical summarization, and problem-solving using data. No prior programming experience is needed, and students will become proficient at writing code in a modern computer environment.
Fall/Spring
CSC 1040
Data Science II
4cr
This class introduces students to the data structures and algorithms needed for complicated data analysis tasks. No prior programming experience is needed, and students will learn principles of computer science that will benefit them in future programming endeavors.
Prerequisite: CSC 1030 with a grade of C or better
Spring
CSC 1100
Introduction to Computing
4cr
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 Python. Intended for nonmajors/nonminors. Does not count toward major or minor in CSC.
Fall/Spring
CSC 1810
Principles of Computer Science I
4cr
A study of the fundamentals of writing computer programs and problem-solving, using structured and object-oriented techniques. Intended for future majors and minors in computer science and minors in game development. Students are strongly encouraged to enroll in this call in the fall term of their first year.
Fall/Spring
CSC 1820
Principles of Computer Science II
4cr
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 1810 with a C or higher
Spring, with limited Fall availability
CSC 2560
Data Structures and Algorithms
4cr
An examination of advanced programming techniques for problem-solving and manipulating data using primarily object-oriented approaches.
Prerequisite: CSC 1820 with a C or higher
Fall
CSC 2710
Game Development I
4cr
Video games are serious work. Reaching far beyond the multibillion-dollar gaming industry, the lessons of video game development increasingly translate to disparate fields requiring simulation, training, and easy-to-use interfaces. This course introduces students to the game development and design process. Students will build games representative of a variety of genres. This is a project-based course.
Corequisite: CSC 1810 or instructor permission
Alternating Fall
CSC 2720
Game Development II
4cr
A continuation of CSC 2710 Game Development I with an emphasis on three dimensional environments. This is a project-based course.
Prerequisite: CSC 2710 with a C or better
CSC 2730
Game Development III
4cr
A continuation of CSC 2720 Game Development II focusing on advanced topics such as save systems and multiplayer.
Prerequisite: CSC 2720 with a C or better
CSC 2810
Database Design and Management
4cr
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 1820 with a C or higher
CSC 2910
Object-Oriented Programming
4cr
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 1820 with a C or higher
CSC 3210
Computing Paradigms
4cr
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 with a C or higher
CSC 3510
Computer Organization
4cr
A study of the lower levels of computers. Machine and assembly languages, memory, addressing techniques, interrupts, and input-output processing are also studied. This course compliments CSC 4370 Operating Systems. Students are encouraged to take this course in spring and CSC 4730 in the following fall term.
Prerequisite: CSC 2560 with a C or higher
Spring
CSC 3530
Artificial Intelligence and Cognitive Modeling
4cr
This course explores the primary approaches for developing computer programs that display characteristics 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 with a C or higher or with permission of instructor
CSC 3600
Network Programming
4cr
An examination of data communications and communications networks including signal encoding, multiplexing, circuit and packet-switched networks, TCP/IP, WANs, LANs, and intranets. Particular emphasis is placed on socket-based, multi-threaded programming.
Prerequisite: CSC 2560 with a C or higher
CSC 3750
Algorithms
4cr
This course studies various problem-solving strategies and examines the classification, design, complexity, and efficiency of algorithms.
Prerequisites: CSC 1820 with a C or higher and either MTH 1060 or MTH 1240
CSC 3770
Computer Graphics
4cr
Given the ubiquity of computer graphics in modern culture (in forms such as computer gaming, motion pictures, and other kinds of visual entertainment), the deeply technical nature of its formulation and construction can be overlooked. This course provides an introduction to computer graphics covering aspects of linear algebra, geometry, color, vision, and the unique nature of modern graphics programming. This course is project driven.
Prerequisite: CSC 2560 with a C or higher
CSC 3810
Foundations of Computer Science
4cr
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
CSC 4000
Senior Seminar
4cr
Students review and discuss current issues and trends in computer science.
Prerequisites: Senior standing, completion of six CSC courses, and instructor permission
Fall
CSC 4350
Software Design and Development
4cr
An examination of the software development process from analysis through maintenance using both structured and object-oriented methods. Students work together on a team project. Should be taken in the spring term of junior year.
Prerequisite: CSC 2560 with a C or higher
Spring
CSC 4500
Independent Study
2-4cr
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
4cr
Students examine various computer architectures including the von Neumann mode, RISC/CISC, and parallel architectures.
Prerequisite: CSC 3510 with a C or better
CSC 4730
Operating Systems
4cr
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 2560 with a C or higher
Fall
CSC 4900
Research in Computer Science
1-4cr
An opportunity to conduct research in computer science, culminating in a research paper.
Prerequisites: CSC 1820 with a C or higher and instructor approval
CSC 4990
Senior Thesis Completion
0cr
Students should register for CSC 4990 during the semester that they intend to complete and present their Senior Thesis.
MTH 1240
Discrete Structures
4cr
A study of logic, proofs, and sets; graphs, digraphs, trees, colorings, and traversal; permutations and combinations; binomial coefficients; and recurrence relations.
Prerequisite: MTH 1120, CSC 1100, CSC 1810, or CSC 1030, or departmental approval
J-Term/Spring