B.S. Degree — Computer Science Major
In addition to the general education requirements, students majoring in Computer Science must complete a concentration that includes 12 semester hours of MATH courses and meets the following requirements. At least 12 s.h. must be upper division CPSC courses from Graceland. A student completing a double major in Computer Science and Information Technology will graduate with a Bachelor of Science degree.
Core requirements (in common with the Information Technology major):
CPSC1100 Principles of Computing 3 s.h.
CPSC1210 Introduction to Unix 3 s.h.
CPSC1300 Computer Programming I 3 s.h.
CPSC1320 Computer Programming II 3 s.h.
CPSC/ITEC3230 Communication Networks 3 s.h.
CPSC/ITEC3360 Systems Analysis and Design 3 s.h.
CPSC/ITEC3370 Database Concepts and SQL 3 s.h.
MATH1350 Discrete Mathematics 3 s.h.
Computer Science concentration:
CPSC2320 Computer Organization and Assembly Language 3 s.h.
CPSC3330 Date Structures and Algorithms 3 s.h.
CPSC3400 Programming Languages 3 s.h.
CPSC4430 Operating Systems 3 s.h.
MATH1510 Calculus I 3 s.h.
MATH1520 Calculus II 3 s.h.
MATH3340 Linear Algebra 3 s.h.
Advanced Electives from the following: 6 s.h.
CPSC3900 Advanced Topics in Computer Science (repeatable for different topics)
CPSC/MATH4360 Numerical Analysis
CPSC/MATH4370 Mathematical Modeling
Although not a formal requirement, we recommend all Computer Science majors meet General Education Goal 2a by taking lab science courses in physics, chemistry, or biology.
A minor in Computer Science consists of 15 s.h. in Computer Science and 3 s.h. of Mathematics, including the following courses:
From Computer Science:
CPSC1100 Principles of Computing 3 s.h.
CPSC1300 Computer Programming I 3 s.h.
CPSC1320 Computer Programming II 3 s.h.
CPSC3330 Data Structures and Algorithms 3 s.h.
Computer Science electives (2000 level or above) 3 s.h.
From Mathematics:
MATH1350 Discrete Mathematics
Courses in Computer Science
CPSC1020 Introduction to Web Page Programming 3 s.h.Students will learn the basics of how the World Wide Web works and build their own Graceland web site using HTML. Students will also be introduced to the techniques for building dynamic web pages; e.g. CGI script programming, web forms, PHP, etc. A number of related technology skills will be learned in the process; e.g. telnet, etc. Goal 8 (Goal 8 Catalog 0809+)
CPSC1100 Principles of Computing 3 s.h.An introduction to algorithmic problem-solving through extensive programming in Python. Fundamental terminology and ideas related to computing systems, programming languages, information structures, and problem-solving paradigms will be studied. Goal 4ab, 8 (Goal 8 Catalog 0809+)
CPSC1210 Introduction to UNIX 3 s.h.An introduction to the UNIX operating system. Students will become familiar with the UNIX file system, various UNIX utilities, shell programming, software installation, X-Windows, Emacs editors, and more. Goal 8 (Goal 8 Catalog 0809+)
CPSC1300 Computer Programming I 3 s.h.An introduction to programming and program design techniques using the Java programming language. Topics include an introduction to Java application, fundamental data types, control structures, and object-oriented programming. While introducing students to object-oriented techniques, this course will reinforce structured programming and top-down design habits. Prerequisite: CPSC1100. Goal 4ab, 8
CPSC1320 Computer Programming II 3 s.h.
Continuation of CPSC1300. Advanced programming techniques using the Java programming language.
Prerequisite: CPSC1300. Goal 4ab, 8
CPSC1900 Elementary Topics in Computer Science 1-3 s.h.
A study of selected elementary topics in computer science that are not offered in the regular curriculum.
May be repeated for credit when topics are different.
CPSC2000 Individual Study 1-3 s.h.
CPSC2100 Intermediate Programming 1-3 s.h.Intermediate-level programming using a specific programming language, tool-set, methodology, or genre such as COBOL, Fortran, C++, PHP, debuggers, ActiveX, etc. May be repeated for credit if the content is different. Scheduled course name and transcript listing will include the programming language or topic; e.g. Intermediate Programming - C++. Prerequisite: CPSC1100.
+ CPSC2320 Computer Organization and Assembly Language 3 s.h.This course is a first course in computer organization and assembly language programming. Students are exposed to the register level architecture of a modern processor and gain experience programming in the assembly language for that processor. Prerequisites: CPSC1300. Goal 4ab, 8
CPSC3000 Individual Study 1-3 s.h.
CPSC3220 Windows Programming with Visual BASIC (Also ITEC3220) 3 s.h.
Topics include the visual programming environment, the Application Programmer Interface (API) file
processing, dynamic link library (DLL) creation, object classes, and exception handling. Practice in
developing Windows applications. Prerequisites: CPSC1300 and CPSC1320. Goal 4ab, 8
+ CPSC3230 Communication Networks (Also ITEC3230) 3 s.h.
The theory and principles of transmission media and data communications networks. Topics include
communications hardware and software, local area networks (LANs), wide area networks (WANs), and
metropolitan area networks (MANs). Protocols, architectures, and internetworking will be examined.
Current advances in network technology including the integrated services digital network (ISDN),
asynchronous transfer mode (ATM), and frame relay will also be discussed. Prerequisites: CPSC1300.
Goal 4ab, 8
CPSC3330 Data Structures and Algorithms 3 s.h.
Theory and principles used in the structuring of data elements in computing systems. Topics include
stacks, queues, lists trees, and their relation to sorting, searching, memory management, compiling, and
the analysis of algorithmic performance. Prerequisite: CPSC1320. Goal 4ab, 8
CPSC3360 Systems Analysis and Design (also ITEC3360) 3 s.h.
A study of current strategies and techniques to analyze and model information system requirements,
covering managerial, behavioral, and technical components of the system’s analysis and design process.
Prerequisite: ITEC3260. Goal 8
CPSC3370 Database Concepts and SQL (Also ITEC3370) 3 s.h.
A study of the concepts and structures required to implement a database system including the logical design and physical organization of the database. Topics include historical approaches to database systems, predicate algebra and predicate calculus. Emphasis is given to the design and development of database systems that includes understanding and applying entity-relationship models. Implementation of a database using SQL on a commercial database system is included. Prerequisite: CPSC1300. Goal 4ab, 8
CPSC3400 Programming Languages 3 s.h.
A study of programming language concepts including syntax and semantic specification, program control
structures, memory and data structures for implementation, and data abstraction. Topics include recursive
functions, data typing, inheritance, concurrent programming, functional programming, and logic
programming. Representative languages are studied and projects in several of them are performed.
Prerequisite: CPSC1320. Goal 4ab, 8
CPSC3800 Internship in Computer Science 1-3 s.h.
This internship allows students to work with professionals in career areas relating to Computer Science.
Student will play an active role in identifying internship opportunities and field sponsors. (Graded on Pass/
Fail basis.) Prerequisite: Instructor’s consent.
CPSC3900 Advanced Topics in Computer Science 1-3 s.h.
A study of selected advanced topics in computer science which is not offered on a regular basis; such as computer graphics, artificial intelligence, computer architecture, bioinformatics and compiler design. May be repeated for credit when topics are different.
CPSC4000 Individual Study 1-3 s.h.
+ CPSC4360 Numerical Analysis (Also MATH4360) 3 s.h.Analysis of numerical methods for computers covering iterative methods for finding roots of equations, numerical integration, interpolation and differentiation, and solution of ordinary differential equations. Error analysis and convergence of algorithms. Prerequisites: MATH2510 and a computer programming course. Goal 4ab, 4c2, 8 (Goal 4 Catalog 0809+)
+ CPSC4370 Mathematical Modeling (Also MATH4370) 3 s.h.Selected topics to demonstrate the interaction of mathematical thinking with real-world problems. Prerequisites: MATH1350 and MATH1520. Goal 4ab, 4c2, 8 (Goal 4 Catalog 0809+)
CPSC4430 Operating Systems 3 s.h.
This is a course in systems software that is largely concerned with operating systems. Such topics as
process management, device management, and memory management are discussed, as are relevant issues
associated with concurrency, security and protection, networking, and distributed operating systems.
Prerequisite: CPSC1320. Goal 4ab, 8
+ Denotes an alternate
year course.