| CS 100 Computer Basics |
(1:0:0)
|
| Fullfills GE Basic Skills requirement. |
| A pass/fail course that requires passing a two-part exam. The exam includes objective-type questions and performance section where the student uses computer applications to produce a final product. The topics in the exam will include the basic computer operating system, word processing, spreadsheet, and Internet skills. If desired, a student can prepare for the exam by completing self-paced tutorials that will be provided over the Internet. No class time is required. This course fills the online learning requirement. |
| |
| CS 124 Introduction to Software Development |
(3:3:0)
|
| Prerequisite: High School Algebra |
| Algorithmic thinking and problem solving. Programming basics including fundamental data types, flow of control, functions, and arrays. Structured programming. Procedural paradigm of software development. |
| |
| CS 144 Introduction to Programming |
(3:3:0)
|
| Prerequisite: Math 110 (may be taken concurrently) |
| Introduction to problem solving, algorithm formulation, procedural programming and object-oriented programming. Course is intended for non-Computer Science majors. |
| |
| CS 165 Object-oriented Software Development |
(3:3:0)
|
| Prerequisite: CS 124 and Math 110 |
| Software design and development using the object-oriented paradigm. Algorithm formulation and object-oriented programming. |
| |
| CS 202 Ethics |
(1:1:0)
|
| Prerequisite: ENG 111/111C and CS 165 |
| Survey of issues regarding ethics in Computer Science. Overview of intellectual property rights relative to computing including copyright, patents, trademarks, and piracy. |
| |
| CS 235 Data Structures |
(3:3:0)
|
| Prerequisite: CS 165 |
| Builds on the foundation of CS 124 and CS 165 to introduce the fundamental concepts of data structures and the algorithms that proceed from them. |
| |
| CS 236 Discrete Mathematics |
(4:5:0)
|
| Prerequisite: CS 165, Math 112, and Math 221 |
| Mathematics for computer science. Introduces the mathematical topics needed to provide a theoretical foundation for computer science.
|
| |
| CS 246 Software Design and Development |
(3:3:0)
|
| Prerequisite: CS 235 |
| Advanced object-oriented design and software development. |
| |
| CS 290 Special Topics |
(1-3:0:0)
|
| Prerequisite: Consent of Instructor. |
| Faculty/student consultation will determine an area of study/research that will give an advanced student greater appreciation and experience in this field. Terms of enrollment, credit, etc. will be determined by the instructor. |
| |
| CS 306 Algorithms and Complexity |
(3:3:0)
|
| Prerequisite: CS 235 and CS 236 |
| Introduces formal techniques to support the design and analysis of algorithms, focusing on both the underlying mathematical theory and practical considerations of efficiency. Topics include asymptotic complexity bounds, techniques of analysis, and algorithmic strategies. |
| |
| CS 345 Operating Systems |
(3:3:0)
|
| Prerequisite: COMPE 324 |
| Analysis of methods used by operating systems to perform typical system services, including: process control, memory management, scheduling, I/O, file management, and concurrency. |
| |
| CS 371 Human-Computer Interaction |
(2:2:0)
|
| Prerequisite: CS 373 |
| Introduction to basic HCI concepts. Provides a foundation for the analysis, design, and evaluation of effective interactive systems. |
| |
| CS 373 Web Engineering |
(3:3:0)
|
| Prerequisite: CS 246 |
| Internet and Web fundamentals. Client and Server side technologies. Web application development using: XHTML. CSS, XML, XSL/XSLT, JavaScript, Perl, PHP, and Java Servlets. |
| |
| CS 398 Internship |
(1-4:0:0)
|
| Prerequisite: CS 246 and consent of Department Internship Coordinator. |
| Planned and supervised practical experience in vocational or educational settings. Interns acquire practical skills while applying classroom theory and principles. |
| |
| CS 399 Colloquium |
(2:2:0)
|
| Prerequisite: Eng 316/316C and CS 246 |
| Fundamentals of presenting to technical and non-technical audiences. Review classics of Computer Science literature. Present information on a technical topic of general interest in an open forum. |
| |
| CS 426 Software Engineering I |
(4:5:0)
|
| Prerequisite: Eng 316/316C and CS 246 (CS 427 must be taken concurrently)
|
| Software requirements engineering including elicitation, and specification. Software architecture and design. Software quality engineering including testing and reliability. |
| |
| CS 427 Software Engineering II |
(4:5:0)
|
| Prerequisite: Eng 316/316C and CS 246 (CS 426 must be taken concurrently) |
| Software metrics, software process, and software project management. |
| |
| CS 452 Database Systems |
(3:3:0)
|
| Prerequisite: CS 236 and CS 373 |
| Study of database design and implementation; comparison of basic models; study of query languages; discussion of issues of integrity, security, dependencies, and normal forms. |
| |
| CS 460 Computer Communication & Networks |
(3:3:0)
|
| Prerequisite: CS 235, CS 246 |
| Introduction to computer networking with an Internet focus, including: applications, protocols, transport services, IP, routing, LANs, and security. |
| |
| CS 470 Computer Security |
(3:3:0)
|
| Prerequisite: CS 236 and CS 246 |
| Security in multi-user and distributed computer systems, cryptography, identification and authentication, message and software protection. |
| |
| CS 480 Computational Theory |
(3:3:0)
|
| Prerequisite: CS 306 |
| Finite automata, regular expressions, grammars, languages, turing machines, computability, complexity, P and NP problems. |
| |
| CS 490 Special Topics |
(3:3:0)
|
| Prerequisite: Consent of Instructor |
| Current topics in Computer Science. |
| |
| CS 498R Internship |
(1-4:0:0)
|
| Prerequisite: CS 246 and consent of Department Internship Coordinator. |
| Planned and supervised practical experience in vocational or educational settings. Interns acquire practical skills while applying classroom theory and principles. |
| |
| CS 499 Senior Project |
(3:1:2)
|
| Prerequisite: CS 426 and CS 427 |
| Directed individual or group research and study of a topic in Computer Science not covered by the curriculum. The topic shall be such that the student shall apply material covered by the curriculum to understand a new topic. |
| |