
Computing Courses  
CS 141  Introduction to Computer Science I
(4 Credits) An introduction to computer science and objectoriented programming with Java CS 142  Introduction to Computer Science II (4 Credits) A continuation of CSCI141, with an introduction to recursion, linked lists, sorting and searching, and objectoriented design. Prerequisite: CSCI141 CS 201  Introduction to Computer Organization (4 Credits) Hardware organization, assembly and system level programming, macro facilities. Prerequisite: CSCI111. CS 211  Discrete Structures (4 Credits) Boolean algebra and propositional logic, mathematical proofs, finite machines, Turing machines, formal language, combinatorics, probability. Prerequisite: CSCI141. CS 221  Software Development I (4 Credits) Implementation of the Object Oriented paradigm using C and the Unified Modeling Language (UML). An introduction to the components of the C compiler, and the software development life cycle Prerequisite: CS142. CS 301  Operating Systems (4 Credits) Study of the components of an operating system. Management of and communication between concurrent processes, virtual memory, scheduling, file management. Prerequisite: CSCI221. CIS 301  Web Application Development (4 Credits) Web Application Development. Implementation of Web applications, treating both the client and the server, with an emphasis on database driven applications that includes logical and physical database design, entityrelationship modeling, and database normalization. Possible development environments include PHP, Javascript, and MySQL. Prerequisite: CSCI221. CS 302  Computer Organization and Architecture (4 Credits) Organization of major hardware components of a computer; introduction to logic and microprogramming; comparison of computer architecture. Prerequisite: CSCI201. CS 304  Computer Networks and Mobile Computing (4 Credits) This course focuses on the communications protocols used in computer networks: their functionality, specification, implementation, and performance (TCP/IP, Ethernet, Gigabit Ethernet). It also introduces the field of mobile and wireless computing. Prerequisite: CSCI221 and CSCI301 CS 310  Computer Graphics (4 Credits) Techniques and standard algorithms for creating and animating two and threedimensional objects, including lighting, texturing, collision detection, matrix transformations, physicsbased animation and SLERPing via quaternions. Prerequisite: CSCI221, MATH235 CS 311  Algorithms (4 Credits) A detailed study of algorithm design and analysis, including greedy algorithm, divide and conquer, dynamic programming, backtracking, and branch and bound. Some advanced data structures are introduced. There is an emphasis is on the verification and analysis of time and space complexity. NP theory is introduced. Prerequisite: CSCI211 CS 321  Software Development II (4 Credits) The study of advanced Object Oriented and UML concepts using C . Design Patterns, the Standard Template Libraries, and basic network communications (sockets, rpc). A continuation of the study of the software development life cycle. Prerequisite: CSCI221 CS 331  Graph Theory (4 Credits) This course studies techniques of enumeration and graph theory. Topics include binomial coefficients, recursion, generating functions, Burnside's Lemma, Eulerian and Hamiltonian graphs, trees, planarity, duality, graph coloring, graph algorithms, and various practical applications. Prerequisite: CSCI211 or junior standing in mathematics. Crosslisted as MATH331. CIS 331  Computer and Network Security (4 Credits) An introduction to computer and network security with an emphasis on computer attacks and defending against them. Examines the reconnaissance, scanning, gaining access, maintaining access, and covering tracks phases of the attack process and uses various open source tools for monitoring and detection. Prerequisite: CSCI221. CIS 340  Internship in Computer Information Systems (4 Credits) Students are expected to complete an internship of varying time length with an external strategic alliance partner. Emphasis is on a relevant learning environment and acquisition of appropriate career skills at a suitable level of authority and responsibility. Prerequisite: Approval of CINF faculty. CS 341  Mathematical Modeling and Computer Simulation (4 Credits) An introduction to the development of mathematical models, and the use of computers towards that goal. Topics include model construction, regression, empirical modeling, difference equations and dynamical systems, probabilistic modeling, and Monte Carlo simulation. Prerequisite: MATH142, MATH235, and CSCI141. Crosslisted as MATH341. CIS 351  Ethics and Technology (4 Credits) This course is intended to enable students to understand and to respond to the legal and ethical issues that arise from the utilization of information technology. Students will explore ethical and social issues arising from the computerization of industry and government, with emphasis on copyright, security, and privacy issues. The primary focus of the course will be the determination of the weight that these ethical and social issues should have in the design, implementation, and uses of present and anticipated applications of information technology. Prerequisite: Junior standing. CS 361  Numerical Analysis (4 Credits) A study and analysis of common numerical methods used in applied mathematics. Topics include solutions of nonlinear equations, the solutions of systems of linear equations, interpolation, numerical integration, and the numerical solution of differential equations. Prerequisite: CSCI141. Crosslisted as MATH361. CS 371  Compiler Design (4 Credits) Principles, techniques and tools for designing a compiler for a procedural language. Prerequisites: CSCI201, CSCI221 and knowledge of C programming. CS 380  Programming Languages (4 Credits) Theory and principles of programming language design; study of functional and procedural language. Prerequisite: CSCI221. CS 410  Computer Graphics II (4 Credits) A continuation of CSCI310, including keyframe animation, kinematics, the A* algorithm, flocking behaviors, metaballs, and shaderbased graphics. Prerequisite: CSCI310. CS 431  Artificial Intelligence (4 Credits) Emphasizes the newAI. Topics may include decision trees, neural networks, artificial life, genetic algorithms, genetic programming, evolutionary computing, and fuzzy systems. Prerequisite: CSCI221. CS 472  Theory of Computation (4 Credits) Theory of Computation. An examination of the concepts of formal languages, automata theory, context free grammars, and Turing Machines. Prerequisite: CSCI211. CS 498  Senior Research I (4 Credits) Students will select a topic in computer information systems, and work on it in collaboration with a faculty member. The student will develop a statement of the problem to be studied, the methods to be used, and the background information needed to solve the problem. The student will write a project proposal including any preliminary results and present the problem and results to the department. CIS 498  Senior Project I (4 Credits) Students will select a topic in computer information systems, and work on it in collaboration with a faculty member. The student will develop a statement of the problem to be studied, the methods to be used, and the background information needed to solve the problem. The student will write a project proposal including any preliminary results and present the problem and results to the department. CS 499  Senior Project II (4 Credits) Students will extend their research project started in CINF498. The student will write a final paper, and present the results to the department. Prerequisite: CINF498. CS 499  Senior Research II (4 Credits) Students will extend their research project started in CSCI498. The student will write a final paper, and present the results to the department. Prerequisite: CSCI498. 