CS 150. Personal Productivity Using Technology (3; F, S)
Three hours per week. Students will learn to enhance their personal productivity and problem solving skills using end-user tools including word processing, spreadsheets, presentation and Internet tools.

CS 158. Application Development I (4; F)
Three hours per week. This course may not be taken for credit after credit has been earned in CS 160. Fundamental strategies needed for successful systems development. Topics include algorithm and program development using modularization, selection, sequence and iteration constructs.

CS 160. Application Development II (4; S)
Three hours per week. Prerequisite: CS 158 or consent of a CS faculty member. Continuation of CS 158 to include designing and analyzing solutions, testing and debugging, and documentation. Topics include collections, file processing, creating and testing classes, encapsulation and inheritance.

CS 170. Introduction to Scientific & Engineering Programming (3; S)
Three hours per week. Prerequisites: MATH 140 and either CHEM 103, PHYS 151 or PHYS 111. A problem solving course with emphasis on scientific and engineering algorithms and program design. Students complete a variety of laboratory exercises.

CS 199. Introduction to Special Topics in Computing Sciences (var. 1-4)
This course may be offered on demand. Covering predetermined introductory special topics of student interest and computing sciences information systems significance.

CS 210. Web Applications I (3; F)
Three hours per week. Prerequisite or co-requisite: CS 150. An introduction to creating web pages using HTML and emerging technologies. Design strategies are explored. Use of multimedia, forms, JavaScript, etc. in website creation is introduced.

CS 220. Introduction to Computer Systems (3; S)
Three hours per week. Principles and application of computer hardware, systems software and computer networking will be explored through lectures, installations, configuration and operations experiences.

CS 300. Advanced Programming (3)
Three hours per week. Prerequisite: CS 160. May be repeated once for credit when subject matter changes. Special topics in programming.

CS 303. Operating Systems (3)
Three hours per week. Prerequisite: CS 160 or equivalent. An introduction to operating systems. Topics include how operating system are used to implement functions of an operating system such as process management, memory management, file management, and I/O management. A portion of the course is devoted to shell programming in a Linux environment. Also included are system utilities, system administration and system security.

CS 305. Human Computer Interaction (3)
Three hours per week. Prerequisite: CS 160. Basic principles, procedures, and models of human-computer interaction are discussed and applied through development of various prototypes. Usability engineering and research in human computer interaction are also addressed.

CS 330. Networks & Telecommunications (3)
Three hours per week. Prerequisite: CS 220. Students will gain fundamentals. Data communication and tele-communication models and standards, concepts and standard organizations will be studied. Installation, configuration, systems integration and management of the technologies will be practiced.

CS 340. Data Structures (4; F)
Three hours per week. Prerequisites: CS 160. Prerequisite or co-requisite: MATH 150. This course focuses on object oriented methodologies. Emphasis will be on algorithm analysis and construction and application of abstract data types such as lists, stacks, queues and trees.

CS 350. Computer Organization (3)
Three hours per week. Prerequisites: CS 160 and CS 220. This course is a two-part course. The hardware portion covers fundamental digital circuits, processor design, and related topics culminating in creation of a simple digital circuit project. The software portion covers assembly language, including macros, linking and loading. Other topics include input/output facilities, multiprogramming, multiprocessing and real time programming.

CS 355. Programming Languages (3)
Three hours per week. Prerequisite: CS 340. Formal definition of languages, including syntax and semantics. A comparative study of major programming languages. Global properties of languages. Effective programming design techniques.

CS 360. Database Design & Development  (4; S)
Four hours per week. Prerequisites: CS 150 and CS 158. This course presents database design and processing concepts. Topics will include data modeling, database processing, SQL, security, recovery and concurrent access. Extensive work in implementing solutions is required.

CS 365SI. System Analysis & Logical Design (3; F)
Three hours per week. Prerequisite: CS 160. Speech-intensive with instruction on presentation strategies. Emphasis will be on systems planning, definition and analysis through the use of tools and techniques for describing data, process and object models. Practice will be provided for cooperative work within a project team.

CS 366. Physical Design & Implementation (3; S)
Three hours per week. Prerequisite: CS 360 and CS 365SI. Students who have completed the Systems Analysis and Logical Design course will extend their knowledge by designing and implementing an information system. Emphasis will be on designing and providing systems integration, support and maintenance in a programming environment. Further practice within a project team will be provided.

CS 380. Web Programming (3)
Three hours per week. Prerequisite: CS 160. Object-based programming using various control structures to create client and server side applications will be explored. Students will use markup and scripting languages.

CS 382. Database-Driven Web Sites (3)
Three hours per week. Prerequisite: CS 160 and CS 360. This course will familiarize students with different approaches to creating web pages that interface with a database. The course will investigate how to interact with a database technologies such as client-side scripts, server-side scripts and dynamic-link libraries.

CS 420. Web Server Management (3)
Three hours per week. Prerequisite: CS 330. Installing, configuring, and maintaining web servers. Comparisons of various operating systems, such as Linux and Windows as server platforms. Security, data integrity, backup of web sites, web server modularity, log analysis, secure server implementation and e-commerce server implementation.

CS 455WI. Project Management & Practice (3; S)
Three hours per week. Prerequisite: CS 360 and CS 365SI; Senior status and consent of CS faculty advisor. CS majors will complete the design and implementation of a significant information system. Project management and systems integration will be components of the project experience. Students will write documentation for all phases of the project.

CS 490. Computer Internship (var. 1-6)
Open to qualified seniors and second-term juniors. Work experience in computing in business, industry, and government. Student must make application and have demonstrated expertise in computing.