CS 110 Website Production 3 SH
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. Fall and spring semesters. Prerequisite: MAT 100 or appropriate placement. General Education: Math/CS.
CS 140 Introduction to Programming 4 SH
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. Fall and spring semesters. Prerequisite: MAT 100 or appropriate placement. .
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. Fall and spring semesters. Prerequisite or co-requisite: MAT 133 and CS 170.
CS 166 Introduction to UNIX 3 SH
An introduction to problem solving and algorithmic development. The fundamentals of the UNIX operating system concepts, architecture and administration are covered. Topics will include: the functions of an operating system and how UNIX fulfills that role, the file system, shells, scripting, utilities and system administration. The course emphasizes problem solving and basics of computer programming in UNIX/Linus computing environment. Satisfies Math/CS General Education requirement. Not for CS major credit. Fall semester. Prerequisites: MAT 100 or appropriate math placement score.
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. Fall and spring semesters. Prerequisite: MAT 100 or appropriate math placement test score. CS 140 or 143 or permission of the instructor.
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. Fall semester. Prerequisite or co-requisite: CS 170 and CS/MAT 165.
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 & 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. Fall semester. 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. Spring semester. 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. Spring semester. Prerequisite: CS 171.
CS 245 Web Applications Development 4 SH
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 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. Summer. 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
Fall and spring semesters.
CS 298 Faculty Developed Study 1–4 SH
Fall and spring semesters.
CS 299 Student Developed Study 1–4 SH
Fall and spring semesters.
CS 305 Database Applications Engineering 4 SH
This course addresses the engineering of software application systems with extensive client/server database components. It encompasses all phases of the life cycle of a software system, including planning, analysis, design, implementation, testing, and operation and maintenance. In a team project, students participate in the development of an integrated medium-size information system that uses a contemporary large database management system (DBMS). The course may be offered with different DBMS, specified as an option at each offering. For the Oracle option the system implementation is done with Oracle 9i. The following Oracle subsystems are introduced and used: Oracle SQL Plus, PL/SQL, Forms Builder, and Report Builder. This course will be an elective in the computer science program unless it is being substituted for the required course CS 350. Prerequisites: one of CS 140 or CS 143 or CS 170, and one of CS 205 or MIS 301.
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. Fall semester. 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 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. Alternate fall semesters. Prerequisite: CS 171 and junior standing.
CS 350 Object Oriented 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 emphasizes modern object-oriented methodology and 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. Fall and spring semesters.
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. Fall semester. 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.Spring semester. Prerequisite: CS/MAT 165 and MAT 181.
CS 360 Distributed Applications Engineering 4 SH
This course introduces principles of software engineering with emphasis on building distributed applications. After an introduction and overview of the fundamentals of networking and inter-process communication, students will study through examples and case studies the architecture of typical distributed applications. They will build programs for the primary components of distributed architectures. The course will cover interprocess communication, remote method invocation and CORBA, security issues, WEB client-server computing, distributed transactions, the role of data replication in distributed systems, and distributed multimedia systems. This course will be an elective in the computer science program unless it is being substituted for the required course CS 350. Prerequisites: one of CS 205 or MIS 301, and CS 245.
CS 385 Data Mining 4 SH
This is an introductory course in Data Mining. Data mining is an evolving and growing interdisciplinary area of research and development, both in academia as well as in industry. Along with the traditional concepts and functions of data mining, like classification, clustering, and rule mining, students will be introduced to the current issues related to mining in Web and in multimedia applications. This course is an elective in the computer science program. Prerequisites: CS 171, and junior standing.
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.’ Fall and spring semesters. 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. Fall semester. Prerequisite: CS 215 and CS 240 and senior 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.