Computer Science (Coming in January)

Bachelor in Science Degree

The Bachelor of Science in Computer Science program provides the knowledge and skills necessary for a career in computer science and related fields. Students will develop competencies needed to analyze, design, implement, and assess computing solutions using various programming languages, tools, paradigms, and technologies. The program provides students with a foundation of knowledge and understanding along with communication and technical skills within an ethical framework essential for succeeding in both professional and educational endeavors in an increasingly diverse society.

Program Outcomes

After this program, the student should be able to: 

  • Evaluate key theories, programming languages, tools, paradigms, and technologies within computer science.
  • Analyze, design, and implement computing solutions at multiple levels of detail and abstraction.
  • Assess functionality, usability, and performance of systems by applying quantitative and qualitative assessment techniques.
  • Communicate complex ideas with others from diverse backgrounds. • Create software using industry standards, considering social, legal, and ethical issues.
  • Collaborate with others as a team member using a defined development process.

General Education Requirements

  41 Credits Total
CSI 101 Introduction to Computers 3
ENG 101 English Composition I 3
ENG 101 English Composition II 3
History/Government Core 3
Humanities Elective 3
IDS 167 First Year Seminar 3
MAT 103 College Algebra 3
MAT 113 Precalculus 3
MAT 204 Calculus I B 4
Natural Science Core w/ Lab 4
Social Science/Psychology Core 3
General Education Elective 6

Program Requirements

  61 Credits Total
MAT 210 Discrete Math 4
CSI 116 Introduction to Programming 3
CSI 107 C++ Programming 3
CSI 108 Advanced C++ 3
CSI 218 Data Structures and Algorithms 3
CSA 213 Database Management 3
CSI 226 Unix With Linux 3
CSA 227 Website Design 3
CSI 235 Computer Architecture 3
CSI 242 Computer Systems Security 3
CSI 244 Networking I 3
CSI 313 Advanced Database Management 3
CSA 229 Web and Mobile Development With JavaScript 3
CSI 311 Digital Computer Hardware 3
CSI 318 Analysis of Algorithms 3
CSI 340 Compiler Theory 3
CSI 317 Operating Systems 3
CSI 330 Graphics Programming/UI/UX 3
CSI 480 Artificial Intelligence 3
CSI 490 Software Engineering Capstone 3
Program Electives 6

Program Electives

  6Credits Total
MAT 210 Discrete Math 3
CSI 116 Introduction to Programming 4
CSI 107 C++ Programming 3
CSI 108 Advanced C++ 3
CSI 218 Data Structures and Algorithms 3
CSA 213 Database Management 3
CSI 226 Unix With Linux 3
CSA 227 Website Design 3
CSI 235 Computer Architecture 4
CSI 242 Computer Systems Security 4
CSI 244 Networking I 3
CSI 313 Advanced Database Management 3
CSA 229 Web and Mobile Development With JavaScript 3
CSI 311 Digital Computer Hardware 3
CSI 318 Analysis of Algorithms 3
CSI 340 Compiler Theory 3
CSI 317 Operating Systems 3
CSI 330 Graphics Programming/UI/UX 3
CSI 480 Artificial Intelligence 3
CSI 490 Software Engineering Capstone 3
Program Electives 6

Computer Science (Coming in January) Courses
    •  
    • Code
    • Course
    • Credits
    • MAT 210
    • Discrete Mathematics
    • 4
    An introduction to the mathematical structures used in engineering and computer science. Topics include logic, methods of proof, functions and relations, set theory, number theory, induction and recursion, counting theory, discrete probability, and graph theory and its applications. The Tl-83 (or above) graphing calculator is required. Prerequisite: MAT 113.
    • CSI 116
    • Introduction to Programming
    • 3
    This course is designed to provide the background necessary for an understanding of computers and computer languages. Programming assignments introduce the student to methods of problem solving, programming logic, development of algorithms, coding in C, debugging and documenting programs. Topics include an overview of computer organization, simple data structures, and file management.
    • CSI 107
    • C++ Programming
    • 3
    This course is designed as an introduction to C++ programming. Problem solving methods and algorithmic development stressing good programming style and documentation including top down and modular design is emphasized. Prerequisite: CSI 116 (formerly CSI 216 Computer Concepts).
    • CSI 108
    • Advanced C++
    • 3
    This course is designed to provide the student with the advanced object oriented features of C++. It builds upon the knowledge learned in C++ Programming. Prerequisites: CSI 107 and CSI 116 (formerly CSI 216 Computer Concepts).
    • CSI 218
    • Data Structures and Algorithms
    • 3
    This course covers common data structures and algorithms for storing and manipulating data using the C++ programming language. Object-oriented programming and design techniques are emphasized for the creation of reusable data structures. Topics include multidimensional arrays, linked lists, recursion, stacks, queues, searching, sorting, hashing, and trees. Prerequisite: CSI 116, CSI 107, CSI 108.
    • CSA 213
    • Database Management
    • 3
    This course is designed to introduce the fundamental process of developing, implementing, and maintaining a database system in order to produce management information. MS Access or other relational database programs will be used. Database programming is also included.
    • CSI 226
    • UNIX with Linux
    • 3
    Introduction to UNIX operating system. Practical explorations of the basics of UNIX system concepts, architecture, and administration. Uses Linux, a PC-compatible clone of UNIX to reinforce shell programming concepts and utilities with real-world applications.
    • CSA 227
    • Website Design
    • 3
    This course will familiarize the student with the capabilities and potential of web design for applications in business, government, communication, and the arts. Hands-on experience will help build an advanced understanding of HTML vocabulary and interface applications using PageMill.
    • CSI 235
    • Computer Architecture
    • 3
    This course deals with the structure and organization of the major hardware components of computers. Topics include basic logic design, CPU construction, and information transfer and control within a computer system. Prerequisite: CSI 116.
    • CSI 242
    • Computer Systems Security
    • 3
    This course introduces student to the concepts of computer and network security with applications. Topics include authentication, securing Web and file transfer applications, cryptography, firewalls and other devices and network topologies. Prerequisite: CSI 217 and CSI 244 or permission of instructor.
    • CSI 244
    • Networking I
    • 3
    Introduction to the concepts, technology, and implementation of computer communication. Topics discussed are distributed systems requirements, network architecture, communications protocols, local and wide area networks, data transmission, digital multiplexing, data switching, and characteristics of transmission media, modems, design of information flow, and message and packet switching.
    • CSA 229
    • Web and Mobile Development with JavaScript
    • 3
    This course will teach students how to develop client-side scripts to create more functional, robust websites. It builds upon the skills learned in CSA227 Web Design. Students will learn to program with the JavaScript programming language to enhance websites in the areas of dynamic web content, event handling, and form data validation. This course has a strong project component to provide students with substantial hands-on experience with client-side programming. Prerequisites: CSI 116 and CSA 227.
    • CSI 111
    • Digital Computer Hardware
    • 3
    This course focuses on the understanding of computer organization, design and programming of a simple digital computer. The study includes the basic building blocks of a computer system including digital logic circuits, data representation, register transfer language and micro operations.
    • CSI 318
    • Analysis of Algorithms
    • 3
    This course explores the application and efficiency of algorithms. Topics include dynamic programming, balanced trees, graph, and sort algorithms, and Big-O notation.
    • CSI 340
    • Compiler Theory
    • 3
    This course analyzes the structure of a compiler. Topics include lexical analysis, parsing,syntax-directed translation, code generation, and runtime environments.
    • CSI 317
    • Operating Systems
    • 3
    This course examines computer operating systems from the perspective of design and implementation. Topics include process scheduling, process synchronization, memory management, I/O, file systems, security, and virtualization.
    • CSI 330
    • Graphics Programming/UI/UX
    • 3
    User Experience (UX) Design provides an overview of the UX design process. Students will learn basic UX design principles and critique a wide range of existing interfaces. Students will also learn common UX software tools to conduct user testing and design user interfaces.
    • CSI 480
    • Artificial Intelligence
    • 3
    This course explores the underlying theory and application of artificial intelligence (AI) systems. Topics include intelligent agents, problem space search, knowledge representation, planning, neural networks, and machine learning.
    • CSI 490
    • Software Engineering Capstone
    This capstone course thoroughly explores the discipline of software engineering. The course covers the essential aspects of requirements analysis, project planning, design, implementation, and testing. The topics presented are reinforced through the examination of case studies and the development of a capstone project.

Program Pathway

Below is the recommended course of study for a full-time student. We encourage students to speak to an Academic Advisor before registering for courses each semester.

 


 

Semester 1

 15 CreditsPre-Requisites
ENG 101 English Comp I3
CSI 101 Introduction to Computers3
IDS 167 First Year Seminar 3
CSI 116 Introduction to Programming3
CSI 244 Networking I3

Semester 2

 15 CreditsPre-Requisites
MAT 103 College Algebra3Appropriate Placement Score
or Completion of MAT 097
CSA 227 Website Design3
ENG 102 English Composition II3ENG 101
CSI 107 C++ Programming3CSI 116
CSI 226 Unix With Linux3

Semester 3

 15 CreditsPre-Requisites
CSA 213 Database Management3
History/Government Core/Elective3
Natural Science Core w/ Lab /Elective 3
MAT 113 Pre-Calculus3MAT 103 OR Permission of
Instructor
CSI 108 Advanced C++3CSI 107

Semester 4

 15 CreditsPre-Requisites
MAT 204 Calculus I B4MAT 113
CSI 218 Data Structures and Algorithms 3CSI 108
CSI 235 Computer Architecture3CSI 116
CSI 242 Computer Systems Security3CSI 244 OR permission of instructor
Social Science/Psychology Core/Elective3

Semester 5

 15 CreditsPre-Requisites
CSI 313 Advanced Database Management2CSA 213
Open Elective3
CSA 229 Web and Mobile Development
With JavaScript
3CSI 116 and CSA 227
CSI 311 Digital Computer Hardware3CSI 116
Humanities Elective3

Semester 6

 16 CreditsPre-Requisites
Open Elective13
CSI 318 Analysis of Algorithms3CSI 218
CSI 340 Compiler Theory 3CSI 218
CSI 317 Operating Systems3CSI 218
MAT 210 Discrete Mathematics4MAT 204

Semester 7

 15 CreditsPre-Requisites
CSI 330 Graphics Programming/UI/UX3CSI 218 and CSA 227
CSI 480 Artificial Intelligence3CSI 218; MAT 210 (prereq or
coreq)
Open Elective3
Program Elective3
General Education Elective (not CS) 200
level or above
3

Semester 8

 12CreditsPre-Requisites
General Education Elective (not CS) 200-
level or above
3
CSI 490 Software Engineering (Capstone)3CSI 218, CSI 226, CSI 330, and
CSI 313
Program Elective3
Open Elective3

Take the Next Step

Scroll To Top