Computer
Science Course Descriptions
Faculty | Major | Minors | Mathematics Course Descriptions
Statistics Course Descriptions | Computer Science Course Descriptions
Other Departments
CSCI 101 Fundamentals of Computing
Required: Computer Science and Mathematics majors. Recommended for science majors.
The computer is examined as a machine, problem solving tool, and an information
depository. An overview of the disciplines of computer science and information science
will be presented. Students will receive hands-on experience with the various computing
facilities at The Citadel.
Students may not receive credit for this course and CSCI 110.
CSCI 110 Microcomputer Applications
3 Credit Hours
Required for all business administration majors.
This course is intended for students having little or no computer experience.
An introduction to computer systems and computer applications is presented in an IBM
environment. Available software packages in the areas of word processing, database
management, spreadsheets, and communications are introduced with applications in
management and social sciences.
Credit not allowed for both CSCI 110 and CSCI 115.
CSCI 201 Introduction to Computer Science I
4 Credit Hours
Prerequisite: CSCI 101 or approval of department head.
Required of all mathematics and computer science majors.
No previous computer programming experience is needed for this course.
An introduction to problem solving and algorithm development using C++.
Topics include computer organization, operating systems, structured programming, and
program modularization. Assignments involve designing, coding, debugging, and documenting
computer programs.
Lecture: three hours; laboratory: two hours.
CSCI 202 Introduction to Computer Science II
4 Credit Hours
Prerequisite: CSCI 201; prerequisite or corequisite MATH 206.
Required for B.S. degree in computer science.
A continuation of the material covered in CSCI 201. Emphasis is placed on the development
of a disciplined approach to program development and the enhancement of problem solving
skills. Topics include data abstraction, recursion, linked data structures, stacks and
queues, and top-down development of programs.
Lecture: Three hours; laboratory: two hours.
CSCI 208 Introduction to COBOL 3
Credit Hours
Prerequisite: CSCI 216
The fundamentals of COBOL programming with emphasis on file manipulation. Assignments
involve designing, writing, and debugging programs with application in business or other
data processing environments. The course includes the organization, management, and
development of a large scale group project.
CSCI 216 Management Information System
3 Credit Hours
Prerequisite: CSCI 110 or approval of the instructor
Computer-oriented information systems. Program construction in dBASE with applications in
the management and social sciences is presented in a microcomputer environment on the IBM
computer. Topics include data organization and collection, file organization, sort and
search techniques, and on-line information retrieval methods and processes.
The course is designed as a follow-up to CSCI 110.
CSCI 217 Internet Services and Information
Resources 3 Credit Hours
This course introduces the student to the Internet, its services and the basic utilities
for finding, retrieving, sending, storing, requesting, and generating network information.
Topics include electronic mail, ftp, internet discussion groups, how to use the World Wide
Web to locate resources, and how to create Web documents.
CSCI 223 Data Structures 3 Credit
Hours
Prerequisites: CSCI 202 and MATH 206
Required for B.S. degree in computer science.
Formal specification of abstract data types, implementation of these and analysis of
algorithms. Topics include list and set representation methods, trees and graphs. Data
structures used include arrays, queues, binary trees, hash tables, priority queues, search
trees, balanced trees.
CSCI 305 Computer Organization and Programming
3 Credit Hours
Prerequisites: CSCI 202 and MATH 206
Required for a B.S. degree in computer science.
An introduction to computer architecture and assembly language programming with an
emphasis on the latter. Relationship of the conventional machine level of a modern
computer system with its other layers. Topics are chosen from addressing; machine
instructions; I/O; subroutines; parameters; recursion; stacks; coroutines; exceptions;
interrupts; number systems and arithmetic; and the physical, digital, and the
microprogramming levels.
CSCI 320 Database Design and File Structures
3 Credit Hours
Prerequisites: CSCI 202 and MATH 206
Required for B.S. degree in computer science.
An introduction to the logical and physical structures of computer database systems.
Topics include data models, query languages, relational database design, database
constraints, and file structure.
CSCI 355 Programming Languages 3
Credit Hours
Prerequisite: CSCI 315 and CSCI 262
Required for B.S. degree in computer science.
Programming language concepts and constructs with emphasis on the run-time behavior of
programs. Topics include imperative, functional, logic and object-oriented programming
paradigms, language syntax and semantics, and global properties of programming languages
including scope, parameter passing, storage allocation and the binding time of
constituents.
CSCI 365 Object Oriented Programming Using C++
3 Credit Hours
Prerequisite: CSCI 315
An introduction to the object oriented programming philosophy and a detailed coverage of
programming in C++.
CSCI 386 Applied Operations Research
3 Credit Hours
Prerequisites: One of CSCI 110 or CSCI 115, one semester of calculus, and one of STAT 160
or BADM 205
An introduction to the application of quantitative techniques to the managerial
decision-making process. The major mathematical models associated with operations research
are presented. Topics include linear programming, the transportation problem, network
analysis, queuing theory, inventory theory, and forecasting.
The course is applications oriented, and the model building process is emphasized.
Students use applications software to solve realistic problems.
CSCI 405 Operating Systems and Computer Architecture
3 Credit Hours
Prerequisites: CSCI 315 and CSCI 262
Required for B.S. degree in computer science.
An introduction to the concepts of modern operating system design and the architectural
features of modern computer systems and a study of the implementations of these components
in actual operating systems. Topics include data structures and algorithms to support
process control, concurrency, and scheduling; memory management, including virtual memory
architectures; I/O and file management; and networks and distributed systems.
CSCI 412 Principles of Compiler Design
3 Credit Hours
Prerequisite: CSCI 355
A study of the component operations of a compiler, including lexical analysis, syntax
analysis, scope analysis, and code generation, and a discussion of related implementation
issues. A significant part of the course will be a project to develop a compiler for a
simplified programming language.
CSCI 420 Software Engineering 3
Credit Hours
Prerequisite: CSCI 315
An introduction to current techniques used in large-scale software development. Topics
include requirements analysis, functional specification, systems design, implementation
testing, and maintenance.
The course includes the organization, management, and development of a large scale
software group project.
CSCI 450 Formal Languages and Automata
3 Credit Hours
Prerequisites: MATH 206 and CSCI 202
An introduction to analytical methods and techniques used in the study of computer
science. Topics include languages and operations, finite automata and regular sets,
context-free grammars, pushdown automata, Turing machines and the languages corresponding
to them, other classes of languages (linearly bounded, context-sensitive), and the Chomsky
hierarchy.
CSCI 455 Artificial Intelligence Techniques
3 Credit Hours
Prerequisite: CSCI 355
A survey of artificial intelligence concepts. Topics include knowledge representation,
search strategies, logical and probabilistic reasoning, learning, natural language
understanding, expert systems, and computer vision.
LISP and PROLOG are used to illustrate implementation of the concepts.
CSCI 490 Topics in Computer Science
3 Credit Hours
Prerequisite: Permission of the instructor
Selected topics in computer science. The offering of this course will depend upon the
interest of the students, the availability of an instructor, and approval of the
department head. Since the content of the course may change, a student may repeat the
course for credit with the consent of the department head.
CSCI 491 Internship 3 Credit Hours
Prerequisite: Senior standing
Open to senior computer science majors with a CSCI GPA of at least 2.500.
This course gives senior students real-world work experience to complement the classroom
education they have already received. Interns will learn about the variety of issues
involved in developing, implementing, and managing computing resources in a real-world
setting. Interns will spend ten to twelve hours per week in an area business working
alongside an experienced computing professional or as part of a development team.
CSCI 492 Senior Seminar in Computer Science
1 Credit Hour
Required of all computer science majors. Open only to seniors.
Important topics in computer science will be studied and the results presented.
CSCI 499 Senior Research Project 3
Credit Hours
Prerequisite: Approval of department head
A research project with a required formal paper. Recommended for students planning
graduate work. Enrollment based upon a written proposal accepted by the instructor and
approved by the department head.
|