Computer Science

CS 104 Web Site Construction 1 SH
During this course, students will be introduced to the various aspects of Web site design and construction including image, video and audio formats, HTML and JavaScript. Through the use of interactive, hands-on sessions, students will be able to construct their own Web site. Not for CS major credit. Prerequisite: use of software applications.

CS 105 Website Graphics 1 SH
This course will introduce students with those skill-sets necessary to incorporate digital images into their Web site designs. Students will be introduced to common file formats for Web site graphics and experiment with various software applications for image production and management. Not for CS major credit. Prerequisite: CS 104 or permission of the instructor.

CS 106 Website Scripting 1 SH
Given the widespread use of the Web site to communicate various categories of information (corporate, educational, personal), the ability to provide Web site interactive features becomes advantageous. This course familiarizes students with the skill-sets necessary to implement Web site interactivity, including: forms, applets and scripts. Not for CS major credit. Prerequisite: CS 104 or permission of the instructor.

CS 135 Introduction to Problem Solving with Computers 3 SH
Beginning with an historical perspective, students will first be introduced to various computer concepts including data and information processing, and networks. Students will explore various computer-based problem-solving strategies such as flow-charting, numerical modeling, data abstraction and algorithm design. Subsequently, students will be introduced to several computer applications that provide the tools necessary to implement these strategies. Satisfies math/CS general education requirement. Not for CS major credit. Prerequisite: MAT 100 or appropriate placement. General Education: Math/CS.

CS 140 Introduction to Programming 4 SH
This is a first course in computer programming using a high-level programming language such as Java, JavaScript, Visual Basic.Net, C#, etc. The registration booklet will indicate the language used in each section of the course. The course emphasizes problem solving and sound programming practices. No previous programming experience is necessary. During this course, students will learn how to construct algorithms and convert them into computer programs using typical flow control statements and data types. Satisfies math/CS general education requirement. Not for CS major credit. Prerequisite: MAT 100 or appropriate placement. General Education: Math/CS.

CS 143 Visual BASIC 3 SH
This is a first course in programming. No previous programming experience is necessary. Student will learn how to write interactive windows-based programs that solve real problems in their major field. Students will learn how to construct algorithms and convert them into computer programs using all the typical flow control statements, data types, and aggregate data structures. Program interfaces will consist of the common window controls such as menus, buttons, list boxes, combo-boxes, common dialog boxes, scrollbars and multiple forms. Satisfies math/CS general education requirement. Not for CS major credit. Prerequisite: MAT 100 or appropriate placement. General Education: Math/CS.

CS 144 Advanced Visual BASIC 3 SH
This course is a continuation of CS 143. The focus will be on object-oriented programming and the sharing of objects between programs. An introduction to Win32 is presented. Applications will be written in the areas of database, multimedia, messaging and the internet. Emerging Microsoft technologies will be studied. Not for CS major credit. Prerequisite: CS 143 with a C+ or above.

CS/MAT 165 Introductory Discrete Mathematics 4 SH
An introduction to discrete structures and processes such as counting, algorithms, proof, induction, and recursion through the study of logic, sets, relations and functions. Sufficient theory is introduced for application to graph theory and elementary computer science. Prerequisite: MAT 133 and CS 170 (or co-requisite).

CS 170 Computer Science I: Language 4 SH
An introduction to a modern programming language (C++) and its use in constructing programs that solve a variety of problems. The software development process is emphasized. The course will include a significant amount of project work. Prerequisite: MAT 100 or appropriate math placement test score. CS 140 or 143 or permission of the instructor. General Education: Math/CS.

CS 171 Computer Science II: Data Structures 4 SH
This course is a continuation of CS 170. It includes an introduction to the abstract data types: stacks, queues, lists, trees and graphs and their implementation. Another major topic area is the development of object-oriented programs where real-world objects and processes are modeled with classes. Prerequisite: CS 170 and CS/MAT 165 (or as co-requisite).

CS 201 Computer Language Topics 1-3 SH
This course provides instruction in one specific language, such as PROLOG, SmallTalk or Ada. The course will cover the applicable paradigm and paradigm specific features, as well as the control structures, input/output, subprogram linkage, language data structures, and program structure. This course provides in-depth instruction in computer languages that are covered briefly in computer science classes. Students may take this course more than once in different languages. Not for CS major credit. Prerequisite: CS 144 or 170 or 250.

CS 205 Data Modeling and Database Design 4 SH
An in-depth introduction to information management techniques with emphasis on data modeling and relational database design. Topics include conceptual data modeling, relational database design and normalization, database query languages, schema integration and integrity constraints, physical database design, and database usability issues in a shared environment. Students will design and implement a database application working from the E-R modeling stage through to the actual implementation. Prerequisite: CS 140 or 143 or 170.

CS 215 Computer Architecture 4 SH
An introduction to logic circuit design, computer hardware, and microprocessors. The study of finite state machines, control units, arithmetic units, main memory, IO systems, interrupts, and computer peripherals. Prerequisite: CS 140 or 143 or 170.

CS 235 Digital Media 4 SH
This course explores, from a technical point of view, the many ways that computers are used to produce both still and animated images. Topics include: color theory, computer graphics hardware, imaging algorithms, graphics file formats, and analysis of related software applications Prerequisite: CS 170 or 144 or 250; ART 108, ART 111.

CS 240 Computer Organization and Software 4 SH
The study of software concepts and hardware components (at the register level). Students will use all of the software tools (compilers, an assembler, linker, object librarian, debugger, make facility) to write programs which will illustrate low-level implementation of programming concepts and machine control. Prerequisite: CS 171.

CS 245 Web Applications Development 4 SH
This course provides a thorough coverage of web application development. Students learn how to use HTML and XHTML features along with one of the scripting languages such as JavaScript or VB script, and are exposed to a selection of server side technologies such as Active Server Pages (ASP) and Java Server Pages (JSP). Students choose their implementation tools based on their previous programming background. Students also learn advanced features of various technologies such as cascading style sheets, objects and collections of objects and the HTML event model for dynamic document formatting. Prerequisite: CS 250 or 144 or 170 and 205.

CS 250 Advanced Topics in Programming using Java 4 SH
This course quickly covers all the fundamental concepts in the Java Language and then concentrates on more advanced topics such as events, various collection classes, the serialization of objects, multi-threaded programming, database connectivity, network programming with sockets, applets, and servlets. Prerequisite: CS 140 or 170 or a background in object-oriented programming.

CS 266 Introduction to UNIX 3 SH
An introduction to the UNIX operating system. Topics will include: the functions of an operating system and how UNIX fulfills that role, the file system, shells, scripts, utilities and system administration. Not for CS major credit. Prerequisite: CS 140, CS 143, CS 170 or MIS 260.

CS 270 Computers in Society 3 SH
Computer technology both affects and is affected by society in a variety of ways. Therefore, in order to more fully appreciate the use of computers, it's important to study the societal impact on and by computer technology. In this course, students will be introduced to computers and society from three perspectives: first, an historical perspective, showing how computer technology has evolved; second, a functional perspective, showing how computers impact on various segments of society; third, a human perspective, showing how individuals behave with respect to computers, both legally and ethically. Prerequisite: CS 144 or 170 or 250.

CS 285 Artificial Intelligence 4 SH
The field of artificial intelligence (AI) is concerned with the design and analysis of autonomous agents. Artificial intelligence also provides a set of tools for solving problems that are difficult or impractical to solve with other methods. These include: heuristic search and planning algorithms, formalisms for knowledge representation and reasoning, machine learning techniques and methods applicable to sensing, and action problems such as speech and language understanding. The student needs to be able to determine when an AI approach is appropriate for a given problem and to be able to select and implement a suitable AI method. Prerequisite: CS 250 or 144 or 171; MAT 165 strongly recommended.

CS 297 Cooperative Education 1-9 SH

CS 298 Faculty Developed Study 1-4 SH

CS 299 Student Developed Study 1-4 SH

CS 315 Design and Analysis of Algorithms 4 SH
The design, implementation, testing and analysis of various algorithms. Methods such as divide and conquer, dynamic programming as applied to problems in sorting, sets, trees and graphs will be studied. The analysis of algorithms, including questions of correctness, efficiency and complexity, will be studied. Prerequisite: CS 171 and MAT 181.

CS 330 Computer Graphics 4 SH
The fundamentals of computer graphics including typical hardware and software configurations, raster and vector graphics, and common graphics standards.Graphics primitives (both 2D and 3D) and attributes will be used in developing computer programs. Prerequisite: CS 171 and junior level standing.

CS 340 Computer Animation 4 SH
An exploration of the theory and application of computer animation. Students will participate in both a lecture component covering both traditional and computer animation concepts, and a project component consisting of the creation of an animation including of at least two objects in motion, and including one or more advanced concepts presented during the lecture component of the course. Prerequisite: CS 171 and junior level standing.

CS 350 Software Engineering 4 SH
This course addresses the application of theory, knowledge, and practice for effectively and efficiently building software systems that satisfy the requirements of users and customers. Central topics are software quality, evolution, reuse and cost. The methods introduced are applicable to small, medium, and large-scale systems. The course encompasses all phases of the life cycle of a software system, including requirements specification and analysis, design, construction, testing, and operation and maintenance. Students participate in a team project for development of a medium-size system. Prerequisite: CS 171 and 205.

CS 351 Independent Study 3 SH
Designed for students who show above average ability and interest in computer science, this course allows the student to study advanced topics not included in standard course offerings. Approval of the Department of Computer Science is required.

CS 355 Programming Languages 4 SH
Formal definition of programming languages, including specification of syntax and semantics. Types of languages and their uses. Organization of compilers illustrating compilation of simple expressions and statements. Prerequisite: CS 171, CS 240, and MAT 165.

CS/MAT 359 Introduction to the Theory of Computation 3 SH
Basic theoretical principles embodied in formal languages, automata and computability. Offered even years, spring semesters. Prerequisite: CS/MAT 165 and MAT 181.

CS 399 Honors Project 3 SH
This course requires that each student implement a programming project in an area selected by the student and approved by the instructor. The student will be expected to: 1) investigate the project area in the current literature and 2) make a final oral report at an "open seminar." The student who passes this course with an 'A' and maintains at least a 3.5 average in computer science course at the university will be considered to have graduated 'With Honors in Computer Science.' Prerequisite: CS 355 and 450 and in all CS/MAT required courses a GPA > 3.5.

CS 410 Compiler Construction 4 SH
Phases of a compiler: scanning, parsing, internal representation, code generation and optimization. Tools for compiler development. A compiler for a simple language will be studied. Programming projects will be required. Prerequisite: CS 240 and 350.

CS 450 Operating Systems 4 SH
A study of the history, evolution, philosophies, and structures of operating systems. An introduction to: concepts processes; resource management; virtual machines; scheduling; memory management, file systems, device management; allocation techniques; memory protection; virtual memory; paging and segmentation; the role of the OS in security and protection; OS interface and distributed/network OS concepts. The course includes detailed comparative study of features and architecture of current operating systems. Prerequisite: CS 215 and CS 240 and senior level standing.

CS 484 Special Topics in Computer Science 4 SH
An examination of one or a few related emerging topics in computer science. The topics in this course will be announced by the middle of the previous semester. Prerequisite: CS 350 and junior standing.

Related Links: