Computer Science Courses
View course descriptions for
CS 101 Introduction to Computer Applications (1) The student will develop a basic knowledge of computer applications through hands-on experience. The student will be able to produce useful and practical projects using word processing, spreadsheet, and presentation software. CS 101 may not be taken as a CS elective by students with a computer information systems major. Meets 2 hours a week. Fall, Spring.
CS 130 Introduction to Information Technology (2) Students will study the history of information technology, ethical and legal issues related to computer technology, and computer equipment and software. Students will also learn logic and basic strategies for problem solving. Fall, Spring.
CS 202 Introduction to Programming (3) This course will discuss the basic data and control structures found in programming languages. Students will learn proper design and coding methods to produce projects that are correct, complete, and clear. This course is designed to prepare students for the various programming languages and concepts they will learn in future courses. Fall, Spring.
CS 211 Introduction to Web Design (3) Students will be introduced to the fundamentals of web page design and creation. Students will learn basic web programming languages utilized by website professionals, including HTML and CSS. Students will apply design principles in creating a publishable website using professional tools. Fall, Spring.
CS 214 C Programming (3) Prereq.: Credit for or concurrent enrollment in CS 202. The student will construct a variety of programs using the C programming language. The data and control structures available in C will be explored using practical exercises. File I/O, string manipulation, arrays, and pointers are among the concepts examined in this course. Spring.
CS 227 Data Structures and Algorithms (3) Prereq.: CS 214. Students will develop an understanding of data structures commonly used in computer programming, along with algorithms to implement them in C-language programs. They also will learn advanced C-language programming. Topics examined include stacks, queues, linked lists, memory management, string handling, bit manipulation, recursive programs, binary tree manipulation, multidimensional arrays, arrays of pointers, etc. Students will write programs to demonstrate mastery of these concepts. Fall.
CS 246 Object-Oriented Programming and Design (3) Prereq.: CS 227. This course demonstrates to students the important concepts necessary to successfully apply object-oriented design techniques and to produce properly structured object-oriented solutions. Such object-oriented concepts as encapsulation, inheritance, and polymorphism will be demonstrated in projects using the C++ programming language. Other object-oriented languages and environments will be discussed also. Spring.
CS 303 Database I (3) Prereq.: Credit for or concurrent enrollment in CS 227. The student gains the skills necessary to design and produce efficient databases and learns proper methodologies for designing various types of databases and solving common database configuration problems. This course also introduces SQL and gives special attention to the various database models, especially the relational model. Fall.
CS 306 Database II (3) Prereq.: CS 303. Students gain practical database programming experience using popular commercial database management systems such as Oracle, Microsoft SQL Server, and MySQL. Students will develop several projects using various technologies to retrieve and manipulate data from these systems. Database administration topics such as performance tuning, security, and advanced SQL will also be discussed. Spring odd.
CS 313 Computer Applications for Business (3) Prereq.: CS 101 or proficiency; and sophomore or above. The student will develop a working knowledge of microcomputer applications through hands-on experience. The student will be introduced to the Windows operating system. The applications in Microsoft Office (Word, Excel, Access, PowerPoint) are presented. The student will be able to produce useful and practical projects by effectively using word processing, spreadsheet, and database software, and be able to integrate data from one application to another. CS 313 may not be taken as a CS elective by students with a computer information systems major. Fall, Spring.
CS 321 Assembler Language Programming (3) Prereq.: Credit for or concurrent enrollment in CS 227. The students will develop insight into the complexities of high-level programming as they explore the low-level interactions of the CPU with a variety of programming examples. 80x86 assembly language is used to introduce the student to fundamental assembler concepts. The course will also address other assemblers and issues on other computing platforms. Fall even.
CS 326 Operating Systems (3) Prereq.: CS 227 and junior or senior. Students will develop the skills necessary to manage, use, and control computing resources. Problems of resource allocation, process scheduling, memory management, file handling, and concurrency will be analyzed. Spring.
CS 335 Mobile Application Programming (3) Prereq.: CS 246. Students will create a variety of applications designed for handheld mobile devices such as smartphones and tablets. Interface design for portable devices will be emphasized. Programming techniques needed for memory management, web service integration, security, and API integration with mobile devices will also be discussed. Fall.
CS 344 Networks I (3) Prereq.: CS 214. This course introduces the OSI model of networking and provides the student with practical insight into each layer through programming projects. Local area network hardware and software will be demonstrated. Network administration and network security concepts will be demonstrated, and students will interact with and configure various network services through programming projects. Fall.
CS 346 Networks II (3) Prereq.: CS 344. The student, from a firm foundation of the OSI model and knowledge of LAN and Internet communications, will develop projects that demonstrate proficiency in data communications concepts. Data communication protocols will be examined, and students are required to develop projects that demonstrate concepts such as internetwork routing and messaging. Popular Internet programming/scripting languages will be used to illustrate network access implementation differences. Spring.
CS 351 Software Engineering I (3) Prereq.: CS 214 and sophomore or above. This course discusses the methodologies of software engineering including software specification, prototyping, design, coding, and testing. Students will learn how to analyze software requirements and formulate a formal specification for software projects of various sizes. Software development in a team-based setting will be discussed. Fall.
CS 352 Software Engineering II (3) Prereq.: CS 351. This course examines advanced software engineering topics from a project management perspective. The material in Software Engineering I is expanded, and additional specification, design, and testing methods are covered. The use of CASE tools in development will be studied, and various forms of software review techniques will be practiced. Spring.
CS 361 Java Programming (3) Prereq.: Credit for or concurrent enrollment in CS 227. Students will gain experience writing both Java applications and applets. Multithreading, client/server processes, security and encryption, and other common development techniques will be presented and applied in projects. Fall even.
CS 364 .NET Programming (3) Prereq.: CS 246. This course will demonstrate the development of event-driven programming and graphical user interfaces (GUI) on the Windows platform. The class is taught using an object-oriented approach in the Visual Studio .NET development environment. An emphasis will be placed on current Microsoft Windows programming techniques and technology. Spring.
CS 371 Computer Security (3) Prereq.: Junior or senior. Students will study the principles and implementations of computer security to increase their knowledge of security at various levels of computer systems. Students will also examine application of effective security management policies while addressing issues related to privacy, ethical behavior, and law in relation to computer security. Fall.
CS 401 Computer Science Seminar (1) Prereq.: Junior or senior computer science major. The students will deliver discussions and oral presentations of selected topics from current literature and activities in the area of computer science. Hardware and software evaluations are also presented. Spring even.
CS 405 Computer Hardware Maintenance (2) Prereq.: Junior or senior. This course will allow the student to demonstrate practical experience in analyzing, installing, troubleshooting, and repairing personal computer hardware and software through hands-on projects. Projects will focus on installing a variety of hardware including video boards, sound cards, network cards, RAM, and many other system-related devices. The various personal computer architectures and how they affect the installation of hardware and software will be discussed. Meets 3 hours a week. Fall.
CS 414 Systems Design (3) Prereq.: CS 303 and senior computer information systems major. The purpose of this course is to train students in developing a small business computer application. The students will participate in teams to consider the current and future requirements of the application. The teams will develop the entire application including analysis, design, planning, coding, testing, documenting, and implementing. Student may not have concurrent enrollment in CS 452. Spring.
CS 431 Topics in Computation (3) Prereq.: MA 224. The students will examine the mathematical foundation of computation. Through the study of automata of varying complexity, the student will explore the bounds of what is and what is not computable. An emphasis is placed on parsing and recognition of formal languages and grammars by various classes of automata, culminating with an in-depth coverage of the Turing Machine. Fall odd.
CS 432 Computer Architecture (3) Prereq.: CS 321. The functioning of computers on the hardware level is examined in detail. Students will learn how computer hardware components interact in a computer system. The conversion of source code into machine language will be discussed and used in projects. An emphasis will be placed on understanding data flow through the various types of current and past microprocessors, storage devices, computer memory, and other hardware components. Spring odd.
CS 441 Computer Graphics Programming (3) Prereq.: CS 214. Popular topics in computer graphics programming will be discussed and explored. Students will examine programming and formatting issues relating to both 2-D and 3-D graphics. Algorithms and formulas necessary in processing 2-D and 3-D graphics will also be discussed and examined. Students will produce several projects designed to broaden their technical and programming skills. Fall odd.
CS 442 Programming Languages (3) Prereq.: CS 214. This course will expose the students to a variety of lesser-known programming languages. The various concepts and theories of programming languages will be explored, and students will produce several projects demonstrating these concepts and theories. The languages explored include SNOBOL, FORTH, Prolog, Lisp, and Awk. Other popular languages and concepts will be introduced as the subject warrants. Spring even.
CS 451 Software Engineering Project I (3) Prereq.: At least “C-” in CS 227, credit for or concurrent enrollment in CS 303, 352, and computer science and software engineering major. This course is the first of two capstone courses for Computer Science and Software Engineering students. Students will use material from previous courses to design, create, test, implement, and maintain a large software system. The focus of this course will be the completion of the initial phases of software development in a team setting. Students will complete the requirements analysis, specification, design, and prototyping phases of the project. Students will gain experience in presenting their work both orally and in writing for each of these stages of the process. Initial coding will be started in this course and completed in CS 452 the following semester. Fall.
CS 452 Software Engineering Project II (3) Prereq.: CS 451. This course is the second of two capstone courses for Computer Science and Software Engineering students. Students will continue and complete the development, coding, and testing of the software projects started in CS 451. Students will develop both the final software project and appropriate support documentation for both customers and future developers. The final product will be tested using a variety of techniques, and a set of tests capable of being used for ongoing product maintenance will be developed. Students will gain experience presenting their final system to their peers and faculty members at the annual Software Expo. Student may not have concurrent enrollment in CS 414. Spring.