Computer Science (CS)

10001 Computer Literacy (3)
Introduction to history, language, procedures, applications, abuses and impact of computers. Hands-on experience with microcomputers. Not open to students with previous experience. Prerequisite: none. Special fee: $40 flat fee—subject to change.

10051 Introduction to Computer Science (4)
An introductory, broad and hands-on coverage of aspects of computer science including: algorithms, problem solving, operating systems concepts, computer architecture and programming languages. Three credit lecture with one credit lab. Prerequisites: MATH 11009 or 11010 or 480 SAT and Compass Algebra score of 55; or minimum 20 ACT and Compass Algebra score of 55; or minimum 620 SAT and Compass Algebra score of 36; or minimum 26 ACT and Compass Algebra score of 36. Special fee: $40 flat fee—subject to change. This course may be used to satisfy the Liberal Education Requirements (LER).

10061 Introduction to Computer Programming (3)
Emphasizes programming in a high-level language, includes structured programming, program design, expressions, data control, arrays, records, strings and functions. Prerequisite: MATH 11009 or 11010; or 480 SAT and Compass Algebra score of 55; or minimum 20 ACT and Compass Algebra score of 55; or minimum 620 SAT and Compass Algebra score of 36; or minimum 26 ACT and Compass Algebra score of 36 . Special fee: $40 flat fee—subject to change.

13401 User-level Computer Security (3)
Introduction to computer and network safety; detection and removal of viruses, detection and defense against spyware and rootkits, firewall description and use, protection mechanisms against computer system hacking, spam, identity theft and phishing, protecting wireless networks, safe computing. Includes many in-lecture tutorials. Prerequisite: none. Special fee: $25 flat fee—subject to change.

19995 Special Topics in Computer Science (1-3)*
(Repeat registration permissible) Special topics from all areas of computer science. Prerequisite: special approval.

23021 Computer Science I—Programming and Problem Solving (4)
Computer science concepts, including algorithm development and problem-solving strategies focused on procedural abstraction. High-level     programming concepts, including data types, expressions, program structures, functions, parameter passing scope, extent, arrays, introduction to recursion and an introduction to object-oriented concepts. Three-hour lecture and one-hour lab weekly. Prerequisite: minimum C (2.0) grade in CS 10051. Special fee: $40 flat fee—subject to change.

23022 Discrete Structures for Computer Science (3)
(Cross-listed with MATH 23022) Discrete structures for computer scientists with a focus on mathematical reasoning, combinatorial analysis, discrete structures, algorithmic thinking, applications and modeling. Specific topics include logic, sets, functions, relations, algorithms, proof techniques, counting, graphs, trees, Boolean algebra, grammars and languages. Prerequisites: Minimum grade of C (2.0) in CS 10051; and minimum grade of C (2.0) in MATH 11010; or 540 SAT and Compass Algebra score of 55; or 23 ACT and Compass Algebra score of 55..

29995 Special Topics in Computer Science (1-3)*
(Repeat registration permissible) Special topics from all areas of computer science. Prerequisite: special approval.

31045 Formal Logic (3)
(Cross-listed with PHIL 31045 and MATH 31045) Study of the first order predicted calculus with identity and function symbols. Prerequisite: none.

33001 Computer Science II - Data Structures and Abstraction (3)
Computer science concepts and problem solving focusing on data abstraction. Object-oriented concepts and programming, including encapsulation, information hiding, object design, generics, polymorphism and an introduction to inheritance. Dynamic memory structures, including dynamic arrays, pointers, linked-lists and the use of recursion for problem solving. Abstract data types, including stacks, queues, lists, trees and graphs. Prerequisite: CS 23022 and minimum C (2.0) grade in CS 23021. Special fee: $40 flat fee—subject to change.

33006 Social and Ethical Issues in Computing (3)
Social issues, including historical and social context, professional responsibilities, risks and liabilities, and intellectual property. Prerequisite: minimum C (2.0) grade in CS 33001. This course may be used to satisfy the writing-intensive requirement with approval of major department.

33011 Speed Programming (3)
(Repeated registration permissible) Discussion and practice of pertinent aspects related to programming under time constraints. Corequisite: CS 33001. Special fee: $40 flat fee—subject to change.

33092 Speed Programming Practicum (2)

(Repeated registration permissible) Practice of pertinent aspects from CS 33011. Prerequisite: CS 33011. Special fee: $40 flat fee—subject to change.

33101 Structure of Programming Languages (3)

Introduction to syntax, semantics, behavior and implementation issues in imperative, functional, logic and object-oriented languages; type theory, concurrency, data dependency, nondeterminism and Internet languages. Prerequisite: minimum C (2.0) grade in CS 33001.

33192 Internship in Computer Science (1-3)
Supervised work experience in computer science. Since this work will be outside the department, a report and final presentation will be required; a site visit might also be necessary. S/U grading; IP grade permissible. Prerequisites: CS 33006 and special approval.

33211 Operating Systems (3)
Introduction to operating systems, processes and threads, CPU scheduling, mutual exclusion and synchronization, deadlock, memory management, file systems, networking and distributed systems. Prerequisites: CS 35101 and minimum C (2.0) grade in CS 33001. Special fee: $40 flat fee—subject to change.

33223 Unix Tools (3)
Course will cover UNIX operating system environment topics that will make the user more productive. Topics will include the user environment, shells, files, the file system, editors, scripting languages, document processing, processes, remote access and documentation. Prerequisite: CS 23021. Special fee: $40 flat fee—subject to change.

35101 Computer Architecture (3)

Functional overview of computer systems, interconnection of basic components, system performance measures, instruction set design, arithmetic logic unit, control unit, memory system, pipelining, interrupts and input-output. Prerequisite: CS 23021.

38101 Introduction to Game Programming (3)
Game engine scripting, event driven and data driven programming, game engine data structures, basic game related graphics and AI concepts, a short game development project. Prerequisite: minimum grade of C (2.0) in CS 33001. Special fee: $40 flat fee—subject to change.

39995 Special Topics in Computer Science (1-3)
Special topics from all areas of computer science. Repeat registration permitted. Prerequisite: special approval.

41012 Finite Mathematics (3)
(Cross-listed with MATH 31012) A continuation of Discrete Math emphasizing combinatorial techniques, graph applications in algorithms, finite algebra, number theory and probability. Covers useful math for CS majors. Prerequisite: CS 23022.

41045 Metalogic (3)
(Cross-listed with MATH 41045 and PHIL 41045). Consideration of various metatheorems, including soundness and completeness of propositional and predicate calculus, undecidability of predicate calculus and incompleteness of the theory of arithmetic. Prerequisite: PHIL 31045.

42201 Introduction to Numerical Computing I (3)
(Cross-listed with MATH 42201) An introduction to numerical methods and software for solving many common scientific computing problems. Linear systems, least-square data fitting, nonlinear equations and systems and optimization problems. Prerequisites: MATH 12003 and 21001 and CS 23021. Special fee: $25 flat fee—subject to change.

42202 Introduction to Numerical Computing II (3)
(Cross-listed with MATH 42202) A continuation of CS 42201. Topics include interpolation, numerical differentiation and integration, and numerical solution of ordinary differential equations. Prerequisites: MATH 32044 and CS 42201. Special fee: $25 flat fee—subject to change.

43005 Introduction to Database System Design (3)
An introduction to the basic theoretical aspects of database systems: file organization, search methodologies, language design and performance evaluation techniques. Initial modeling concepts and their use in hierarchical, network, relational and object-oriented database designs. Prerequisite: minimum C (2.0) grade in CS 46101 and junior standing. Special fee: $25 flat fee—subject to change.

43006 Theory of Object-Oriented Programming (3)
In-depth course on the theory and principles of object-based and object-oriented programming using a language such as C++. The course covers advanced topics in inheritance and interface planning, generic (type-independent) programming, factors of polymorphism, structure and organization of class libraries, and object-oriented design principles. Prerequisite: CS 33001. Special fee: $25 flat fee—subject to change.

43111 Structure of Compilers (3)
Techniques used to write compilers including lexical analysis, syntax analysis, syntax-directed translation, type checking, run-time environments and intermediate code generation. Prerequisites: CS 35101 and 33101. Special fee: $20 flat fee—subject to change.

43202 Systems Administration (3)
The setting up and day-to-day administration of multiuser, multitasking systems, such as the various versions of UNIX, together with the analysis of problems which can arise in these activities. Prerequisite: CS 33211.Special fee: $55 flat fee—subject to change.

43203 Systems Programming (3)
Implementation and maintenance of system programs, system utilities, command interpreters, editors, file maintenance programs, text processors. Interrupt handling. Device drivers. Prerequisite: CS 33211. Special fee: $40 flat fee—subject to change.

43401 Secure Programming (3)
Code vulnerabilities, static code analysis, error handling, secure I/O, race conditions and mediation, handling buffer and integer overflow, handling vulnerabilities in web and database programming, privacy and cryptography, random number generators. Prerequisite: minimum grade of C (2.0) in CS 33001 and junior standing. Special fee: $40 flat fee—subject to change.

43901 Software Engineering (3)
An introduction to software engineering concepts: life cycle models; modeling languages; requirements analysis; specification; design; testing; validation; project management and maintenance. Prerequisite: minimum C (2.0) grade in CS 33001. Special fee: $40 flat fee—subject to change.

44201 Artificial Intelligence (3)
Examines goals, problems, concepts and methods of artificial intelligence, heuristic versus algorithmic methods, natural language comprehension, theorem proving. Prerequisite: CS 33001. Special fee: $55 flat fee—subject to change.

45111 Principles of VLSI Design (3)
Introduction to the design of VLSI chips, with emphasis on FPLD-based design. Students will design various chips using standard industry logic synthesis tools. Prerequisite: CS 35101. Special fee: $55 flat fee—subject to change.

45201 Computer Communications Networks (3)
An introduction to net-centric systems, data communication protocols, network architectures, routing protocols, network management, congestion control, network security, compression techniques, mobile and wireless networks, and the World Wide Web as an example of a client-server system. Prerequisite: CS 33211. Special fee: $55 flat fee—subject to change.

45231 Internet Engineering (3)
Design fundamentals and working principles of Internet systems at the IP layer and above. DNS, inter-domain routing, Internet client server programming, application level protocols (HTTP, XML, etc.), Web server architecture, browser, Internet security and multimedia serving. Prerequisites: CS 33001 and 33211 and 45201. Special fee: $40 flat fee—subject to change.

46101 Design and Analysis of Algorithms (3)
Introduction to algorithmic concepts, design and complexity analysis of algorithms, searching, sorting, graphs, geometric, algebraic and parallel algorithms. Prerequisites: MATH 12003 and minimum C (2.0) grade in CS 33001.

46201 Introduction to Theory of Automata, Formal Languages, Computation (3)
A study of alphabets, strings, languages, regular languages and expressions, deterministic and nondeterministic finite automata, context-free grammars and languages, pushdown automata, Turing machines and complexity theory. Prerequisites: CS 23022 and MATH 12003.

47101 Computer Graphics (3)
Display file generation, interactive graphics techniques, display devices, three-dimensional graphics, graphic system design, graphic languages and applications in man-machine communications. Prerequisite: CS 33001. Special fee: $55 flat fee—subject to change.

47105 Web Design and Programming I (3)
(Cross-listed with VCD 46000) A joint computer  science and visual communication design course on Web concepts and high-quality Web design: CS, VCD, principles, tools, architecture, presentation, design and creation of Web sites by teamwork. Web-based instruction is used. IP grade permissible. Prerequisites: CS 33001 and VCD 37000. Special fee: $20 flat fee—subject to change.

47106 Web Design and Programming II (3)
(Cross-listed with VCD 46002) A joint computer  science and visual communication design course on advanced Web techniques and multimedia Web design: Web servers, security, advanced design, Java servlets, applets, database connectivity, site maintenance, creation of actual Web sites by teamwork. IP grade permissible. Prerequisite: CS 47105. Special fee: $20 flat fee—subject to change.

47107 Web Design and Programming Studio (3-6)
(Cross-listed with VCD 46053) A joint computer   science and visual communication design project course. Comprehensive experience on aspects of Web site creation, hosting, maintenance and management. Creative combination and integration of art and programming are emphasized. IP grade permissible. Prerequisites: CS 47106 and VCD 46003. Special fee: $6.67/credit hour—subject to change.

47201 Human Computer Interaction (3)
Approaches the human-computer interaction as an activity of the human whose productivity is increased by the use of the computer as a tool. Examines physiology and psychology, considers the structure and operation of the computer and models the interaction between the two. Prerequisite: CS 33001. Special fee: $55 flat fee—subject to change.

47205 Information Security (3)
An introduction to concepts and methodology useful for information security, as specified by the NSTISSI No. 4011 standard from the NSA. Prerequisite: CS 33006. Special fee: $40 flat fee—subject to change.

47221 Introduction to Cryptology (3)
Introduction to cryptography, classical cryptology, authentication, complexity issues, encryption standards, algebraic foundations, survey of existing cryptology protocols: AES/Rijndael, block chaining, asymmetric techniques. Prerequisites: minimum grade of C (2.0) in CS 33001 and junior standing. Special fee: $25 flat fee—subject to change.

48101 Game Engine Concepts (3)
Introduction to 3D game engine design, game memory management, multithreading in games, sprites and bitmap animation level design, path finding, audio-visual effects, AI and physical modeling in games, networked gaming. Prerequisite: minimum grade of C (2.0) in CS 38101 and 47101. Special fee: $55 flat fee—subject to change.

48102 Game Development Practicum (3)
With supervision of the instructor, students will work in teams to design and implement a  computer game or a 3D interactive learning environment using a game engine. Prerequisite: CS 48101. Special fee: $55 flat fee—subject to change.

49901 Capstone Project (4)
The course is an integrative experience that brings together all components of the undergraduate computer science curriculum in an applied, hands-on, real-world setting. This course is three hours lecture and one hour lab. Prerequisites: CS 45201 and 43901 and 33006 and 43005.

49995 Special Topics in Computer Science (1-4)
(Repeat registration permissible) Special topics from all areas of computer science. Prerequisite:
special approval.

49996 Individual Study (1-4)
Prerequisite: special approval of instructor.

49998 Research (1-15)
Prerequisite: special approval.


  *Course ineligible to be repeated for GPA recalculation.
 

 
 

This page was last modified on August 20, 2009