Skip to main content

Computer Science

Course Descriptions

Computer Science Courses

CS 110 Introduction to Python (2.00 SH). This course presents an introduction to programming for math, science and technology-oriented students, using Python. The syntax and semantics of the language will be covered, with emphasis on mathematical and scientific applications. Object-oriented design, development and debugging will be covered.

CS 111 Introduction to Ruby (2.00 SH). This course presents an introduction to programming for math, science and technology-oriented students, using Ruby. The syntax and semantics of the language will be covered, with emphasis on mathematical and scientific applications. Object-oriented design, development and debugging will be covered.

CS 112 Introduction to R (2.00 SH). This course presents an introduction to programming for math, science and technology-oriented students. The syntax and and semantics of the language will be covered, with emphasis on mathematical and scientific applications. Object-oriented design, development and debugging will be covered.

CS 115 Introduction to Robotics (QR) (4.00 SH). Students will design, build and program robots to autonomously complete various tasks. This course covers the fundamentals of robot design including understanding robot sensors, motion, and manipulators. These principles are put to practice as students are taught to build robots from off-the-shelf components. Students are introduced to the fundamentals of computer programming and they employ this skill to write software that controls their robot as it completes various tasks. Students will study the role of robots in society and explore ethical concerns surrounding their increased use.

CS 151 Principles of Computer Sci I (QR) (4.00 SH). A broad introduction to the discipline of computer science, with attention given to many components of the field. Topics include an examination of subfields of computer science, computer representation of data, an introduction to hardware structure, and fundamentals of programming languages. Special emphasis is given to techniques for problem solving and algorithm development, designing and implementing computer programs, and software analysis and verification methods. Prerequisite: prior programming experience recommended. (Offered Fall semester.)

CS 152 Principles of Computer Science II (4.00 SH). A continuation of the study of the discipline of computer science. This course includes an introduction to data structures, simulation, and scientific uses of computing. Programming for searching and sorting data is covered, as well as an introduction to recursion. Prerequisite: CS 151. (Offered Spring semester.)A continuation of CS 151 using application development as a vehicle to teach more advanced programming skills. Topics may include mobile application development (especially for Android and iOS), an introduction to data structures, recursion, object-oriented programming patterns, software testing, graphical user interfaces, elementary graphics and game development, network programming.

CS 201 Web Design (4.00 SH). This two-credit course provides the student with an understanding of the concepts and technologies used on the Internet to support Web pages and electronic commerce. Some of the topics covered in this course include the concepts of the Internet and WWW, the various protocols used - http, ftp, telnet - browsers and tools, and searching for information on the WWW. The course considers Web site design, development and management, as well as HTML document design and construction. HTML topics will include basic syntax or tags used to create HTML documents. Some specific items will be the syntax for tables and forms, image maps, frames, and cascading style sheets. Other topics will include the design and creation of images (including design theory and color theory, as well as cultural influences), and ethical and legal issues will be explored. (Offered Spring semester, even years.)

CS 251 Data Structures (4.00 SH). A course on the use, implementation and analysis of data structures and algorithms. Data structures to be studied include balanced search trees, hash tables, priority queues and disjoint sets. Advanced sorting algorithms and recursive techniques are also studies, along with mathematical techniques for algorithm analysis. Students will also be introduced to a second programming language. Prerequisite: CS 152. Co-requisite: MTH 241. (Offered Fall semester.)

CS 310 Human-Computer Interaction (4.00 SH). This course stresses the importance of good interfaces and the relationship of user design to human-computer interaction. Other topics include: human information processing models and their role; interface quality and methods of evaluation; inter design examples; dimensions of interface variability; dialogue tools and techniques; user-centered design and task analysis; prototyping and the iterative design cycle; user interface implementation; prototyping tools and environments; basic computer graphics and sound. Prerequisite: CS 151 or CS 102. (Offered Fall semester, odd years.)

CS 311 Computer Architecture (4.00 SH). A study of the organization of computer systems at the hardware level, along with advanced concepts and techniques for programming in assembly language. Co-requisite: CS 152. (Offered Spring semester, odd years.)

CS 321 Database Theory & Design (4.00 SH). The design and implementation of systems for managing large integrated collections of data. Database system architecture; the relational and object-oriented models; security and integrity; and commercial database systems are studied. Included also is computer laboratory experience with one specific database system. Co-requisite: CS 251. (Offered Spring semester, odd years.)

CS 325 Information Security (4.00 SH). This course examines management issues and practical implications related to securing information systems. A clear theoretical understanding supports a large practical component where students learn to audit information systems and use contemporary security software. It focuses on the threat environment, security policy and planning, cryptography, secure networks, access control, firewalls, host hardening, application security, data protection, incident response, networking and review of TCP/IP. Prerequisite: CS 151 and 152.

CS 331 Adv Data Structures & Algorithms (4.00 SH). This course continues the study of data structures and algorithms begun in CS 251. Major topics for this course are dynamic programming techniques and graph algorithms. Other topics will include string matching, geometric algorithms and number theoretic algorithms. Prerequisite: CS 251. (Offered Spring semester, even years.)

CS 341 AI and Machine Learning (4.00 SH). The fundamentals of artificial intelligence (AI), including problem solving techniques, search, heuristic methods, knowledge representation, planning and machine learning. Prerequisite: CS 251. (Offered on demand, Spring semester.)

CS 351 Software Engineering (4.00 SH). Methodology for development and implementation of complete software systems. The course integrates concepts and methods from earlier courses and emphasizes program maintenance, file processing, debugging, and documentation. Software engineering concepts are discussed and a system project is completed. Prerequisite: CS 152 or permission of instructor. (Offered Spring semester, odd years.)

CS 383 Adv Mobile App Development (4.00 SH). Application development for mobile (phone and tablet) platforms. Topics covered include: advanced user interface construction, graphics and sound in applications, interfacing with device services including cameras, contacts, data storage, GPS and accelerometer. An emphasis will be given to the proper software design, master of tools, and software testing. Prerequisite: CS 152.

CS 411 Language Design & Implementation (4.00 SH). An introduction to the principles underlying the design of programming languages and their compilers. Included are models from automata and formal language theory as they apply to the definition and processing of programming languages. Co-requisite: CS 251. (Offered Fall semester, even years.)

CS 421 Operating Systems (4.00 SH). The design, implementation and use of operating systems components is studied. Topics covered include: memory management, process management, device and file management, network protocols and interfaces, and basic systems administration. An emphasis is placed on systems programming including: standard low-level APIs, multi-threaded/concurrent programming, shared memory and other interprocess communication related topics, low-level device interfaces, and an introduction to network programming. Prerequisite: CS 311. (Offered Fall semester, even years.)

CS 431 Data Communications/Networks (4.00 SH). This course combines two important topics which aid in the link between human and machine. Techniques for transmitting data between machines will be emphasized, including local area networks, modem and satellite telecommunications and terminal interfacing. Independent student projects will be used to illustrate topics covered. Prerequisite: CS 152 or permission of instructor. (Offered on demand.)

CS 441 Computer Graphics (4.00 SH). A study of the basic concepts related to computer graphics and how images are produced and displayed by the computer. The course covers both theory and applications. Existing software is utilized to provide a background for more in-depth study of underlying principles. Theoretical concepts are reinforced through development of graphics software. Students need a solid foundation in mathematics, structured programming, and data structures. Prerequisite: CS 251. (Offered on demand, Spring semester.)

CS 451 Project Management (4.00 SH). Project management is the discipline of applying knowledge, skills, tools, and techniques to projects; in this case, information systems projects. Organizations typically have a limited number of resources and time that must be used carefully to produce a product or service that meets the desired goals. The course covers a systematic methodology for initiating, planning, executing, controlling, and closing a project. Project management is a complex team-based activity, where various types of technologies (including project management software as well as software to support group collaboration) are an inherent part of the project management process. Prerequisite: CJ 151 and CS 351 or permission of instructor.

CS 592 Field Experience/Internship (2.00 SH).

CS 594 Field Experience/Internship (4.00 SH). Field Experience/Internship (4 SH) Prerequisites: 24 semester hours in computer science, including CS 151, 152, 251, junior or senior standing and prior approval of program.

CS 601 Computer Science Capstone I (2.00 SH). In the first half of the semester, students perform a literature review phase towards creating a research thesis. They will select a thesis adviser from the Computer Science faculty who will provide guidance in selecting an area for exploration and locating review materials. After approval of the research thesis, students use the remaining time in the semester to work on their project, meeting weekly with other students in the course to discuss their progress. Prerequisites: CS 151, 152, 251, plus four additional CS courses that count for the major. (Offered Fall semester.)

CS 602 Computer Science Capstone II (2.00 SH). Students continue their research related work towards producing a research thesis. This will culminate in the writing of a thesis which and an oral presentation either on or off campus. Prerequisite: CS 601. (Offered Spring semester.)

CS 611 Information Security (4.00 SH). This special topics course focuses on relevant topics and techniques pertaining to current computer science or computer information systems. The course(s) will explore cutting-edge issues, technology and methods. A description of the topic will be distributed prior to registration. Prerequisites: CS 251 and major standing or consent of the instructor. (Offered on demand, Spring semester).


Supporting Courses

MTH 150 Calculus I (QR) (4.00 SH). This course will focus on the fundamentals of differential calculus. Topics considered include functions, limits, continuous functions, differentiation and integration of functions with one real variable, applications of differentiation and the Fundamental Theorem of Calculus. Students will be introduced to some basic calculus proofs. This course is suggested for all students who expect to continue for any advanced degree including finance, law, and medicine. (Offered every semester.) Meets Quantitative Reasoning Intellectual Perspective requirement (QR).

MTH 152 Calculus II (QR) (4.00 SH). This course will focus on the fundamentals of integral calculus, including techniques and applications of integration. Other topics include infinite series and introductory topics from differential equations. Prerequisite: C- or better in MTH 150 or the permission of the instructor. (Offered every semester.) Meets Quantitative Reasoning Intellectual Perspective requirement (QR).

MTH 241 Discrete Mathematics (4.00 SH). An introduction to discrete mathematics. Topics covered include logic, sets, functions, relations, counting, mathematical induction, recurrence relations, and graphs. The topics are tied together through an emphasis on proof techniques and mathematical writing. Prerequisite: C- or better in MTH 150 or MTH 131. (Offered Fall semester.)

MTH 321 Numerical Analysis (4.00 SH). This course explores the development of methods to approximate the solutions to differential equations, zeros of functions, solutions to linear systems of equations, as well as analysis of errors involved in using these methods. Prerequisites: MTH 250 and CS 151. (Offered on demand.)


What can you do with a Computer Science degree?

Imagine yourself a software applications developer, computer systems analyst, computer programmer, database administrator, computer systems engineer, web developer, or information security analyst.