A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z


 

Computer Science

 

Department of Computer Science

 

CS 110. Introduction to Computer Professionalism and Ethics.

1 credit.
Seminar for first year students and transfer students focusing on professional and ethical issues in computer science. Topics include computer science degree requirements, the computer science profession, ethics of computing professionals, protection of software, Internet security and privacy issues, and current issues in computer science.


CS 139. Programming Fundamentals (3, 2).

4 credits.
Students learn fundamental problem-solving techniques using a modern programming language. This course covers the same material as CS 149, but at a slower pace for students with little or no programming experience. Students may not receive credit for both CS 139 and CS 149.


CS 149. Programming Fundamentals (Accelerated).

3 credits.
Students learn fundamental problem-solving techniques using a modern programming language. This course covers same material as CS 139, but at an accelerated pace for students with programming experience. Students may not receive credit for both CS 139 and CS 149. Prerequisite: A prior programming course or equivalent experience.


CS 159. Advanced Programming.

3 credits.
Students use advanced problem-solving strategies to develop algorithms using classes and objects and techniques such as recursion, exceptions and file I/O. This course also focuses on designing small applications and effective testing strategies. Students may not receive credit for both CS 159 and CS 239. Prerequisite: A grade of "C" or better in CS 139 or CS 149 or equivalent.


CS/MATH 227-228. Discrete Structures I-II.

3 credits each semester.
An introduction to discrete mathematical structures including functions, relations, sets, logic, matrices, elementary number theory, proof techniques, basics of counting, graphic theory, discrete probability, digital logic, finite state machines, integer and floating point representations. Prerequisite for MATH/CS 227: MATH 155, MATH 156 or sufficient score on the Mathematics Placement Exam. Prerequisite for MATH/CS 228: MATH/CS 227.


CS 239. Advanced Computer Programming (3, 2).

4 credits.
Students use various advanced problem-solving strategies to develop algorithms using classes and objects. Students also learn how to implement and use elementary data structures, including character strings, records, files, stacks and queues. Prerequisite: A grade of "C" or better in CS 139 or CS 149 or equivalent.


CS 240. Algorithms and Data Structures.

3 credits.
Students learn to implement and analyze elementary data structures and the basic complexity classes of algorithms that use strategies such as greedy algorithms, divide-and-conquer algorithms and backtracking algorithms. This analysis is especially applied to problems in searching, sorting and parsing. Prerequisites: Grades of "C-" or better in CS/MATH 227 and either CS 159 or CS 239.


CS 252. Discrete Structures.

3 credits.
Introduction to the mathematical structures used in computer science. Topics include logic and set theory, algebraic structures, automata theory and computability. Prerequisite: A grade of "C-" or better in CS 139 or CS 149.


CS 260. Technical Communication for Computer Science.

3 credits.
An introduction to the process of planning, researching, producing, and revising technical documents attuned to specific audiences in the computing industry. Document forms studied include definitions, correspondence, descriptions, specifications, instructions, proposals, reports, resumes, and plans.


CS 274. Introduction to Databases.

3 credits.
Students learn how to design and implement a normalized relational database. Emphasis is on the practical construction of an interactive database using graphical user interfaces and report generation.


CS 280. Projects in Computer Science.

1-3 credits.
Projects or topics in computer science which are of interest to the lower division student. May be repeated for credit when course content changes. Topics may vary. Prerequisite: Students should consult the instructor prior to enrolling for the course.


CS/CIS 320. Computing and Telecommunications Networks.

3 credits.
This course focuses on the underlying principles of telecommunications and how these principles are deployed to provide efficient and secure networks for providing voice, data and video services. Emphasis is placed on understanding basic routing, switching and data aggregation techniques, information security strategies, and understanding how basic information systems applications utilize telecommunications services. Prerequisite: Open to CIS majors and minors with corequisite of CIS 304. Open to ISAT majors with prerequisite of ISAT 252. Open to CS majors with prerequisite of CS 139 or CS 149.


CS 330. Societal and Ethical Issues in Computing.

3 credits.
Overview of philosophical and professional ethics, and a survey of societal and ethical issues in computing such as privacy, intellectual property, computer security, computer crime, product liability, and the societal, environmental, and economic impact of computers. Students develop skills in assuming and defending positions on societal and ethical issues through oral presentations and written reports.


CS 340. Assembly Language Programming.

3 credits.
Principles of assembly language programming. Assembly language contrasted with machine language. Assembly directives, conditional assembly and macros. Design of a two-pass assembler. The material in this course is useful for those interested in machine design, operating systems, embedded computer systems and microcontrollers, and other areas which require low-level knowledge of computer operation. Prerequisite: A grade of "C" or better in CS 139 or CS 149.

 


CS/ISAT 344. Intelligent Systems.

3 credits.
In-depth introduction to current and future intelligent systems, including expert systems, neural networks, hybrid intelligent systems, and other intelligent system technologies and their development, uses and limitations. Prerequisite: CS 239, CS 159 or ISAT 340.


CS/ISAT 345. Software Engineering.

3 credits.
Study of means for the development and maintenance of high quality software products delivered on time and within budget. Topics include requirements analysis and specification, software design, implementation, testing, maintenance, project management, ethics and the responsibilities of software engineering professionals. Prerequisites: CS 139, CS 149 or ISAT 340 with sophomore standing in the ISAT major.


CS 347. Web-Based Information Systems.

3 credits.
This course covers the design and development of applications intended for deployment over the World Wide Web. Students will examine Web protocols, the architecture of Web-based applications, the languages and facilities with which they are developed, and related issues such as security and reliability. Students will also work in teams using a representative suite of development tools and languages to design and construct a simple client/server application that includes a GUI and a database interface. Prerequisites: Grades of "C-" or better in CS 345 and either CS 159 or CS 239.


CS 349. Developing Interactive Multimedia.

3 credits.
Students learn the concepts of multimedia, the issues in designing multimedia to interact effectively with users, the performance and speed issues in designing multimedia, and how to implement interactive multimedia applications. Prerequisite: A grade of "C-" or better in CS 240.


CS 350. Computer Organization.

3 credits.
Students learn how a computer works by examining hierarchical computer organization, data representation, instruction set architectures, addressing techniques, interrupt handling, and digital hardware design. Emphasis is placed on the interface between hardware and software, as well as the development of low-level software. Prerequisites: Grades of "C-" or better in CS/MATH 227 and CS 159 or CS 239.


CS 354. Introduction to Autonomous Robotics.

3 credits.
A hands-on introduction to programming autonomous mobile robots. The focus of this course is on designing robotic systems that navigate independently in complex environments. Specific topics include localization, mapping, kinematics, path planning and computer vision. Prerequisite: A grade of "C-" or better in CS 240.


CS 402. Introduction to Information System Security.

3 credits.
This course provides an introduction to the design and management of operating systems and networks, focusing on those aspects that affect information security. It provides students with the skill or ability to design, execute and evaluate information system security procedures and practices. This course does not satisfy any requirements for majors or minors in computer science. Prerequisite: A grade of "C-" or better in CS 139, CS 149 or equivalent.


CS 403. Information Systems Security Management.

1 credit.
This course covers the basic material needed to maintain an information system. Topics covered include: granting final approval to operate, accreditation of the system and verifying compliance with stated policies and procedures. This course does not satisfy any requirements for majors or minors in Computer Science. Prerequisite: A grade of "C-" or better in CS 402 or CS 457.


CS 404. Information System Security Administration.

1 credit.
This course prepares a student to ensure information systems and networks are used securely; to identify and report security incidents; to maintain configuration control of systems and software; and to identify anomalies or integrity loopholes. This course does not satisfy and requirements for majors or minors in Computer Science. Prerequisite: A grade of "C-" or better in CS 402 or CS 457.


CS 405. Information System Security Operations.

1 credit.
This course covers the basic material needed by information system security officers to protect their information systems. Topics covered include: certification, accreditation, site security policy, security policy enforcement and security reporting. This course does not satisfy any requirements for majors or minors in computer science. Prerequisite: A grade of "C-" or better in CS 402 or CS 457.


CS 406. Assessment of Secure Information Systems.

1 credit.
This course considers the assessment of the technical and non-technical security features of an information system in an operational configuration. Upon completion of the course, students should be able to identify the assurance levels achieved in meeting all applicable security policies, standards and requirements. This course does not satisfy any requirements for majors or minors in computer science. Prerequisite: A grade of "C-" or better in CS 402 or CS 457.


CS 430. Programming Languages.

3 credits.
Several actual programming languages are studied in terms of the fundamental principles of computer programming language design, including object-oriented programming, functional programming, concurrent programming and logic programming. Prerequisites: Grades of "C-" or better in CS 240 and CS 350.


CS 442. Logic in Computer Science.

3 credits.
An exploration of some of the many connections between logic and computing, such as the application of classical and temporal logic in program verification, logic and logic programming, decidability, computability, automatic theorem proving, the computational complexity of logic algorithms, and applications of logic in artificial intelligence. A course in discrete mathematics or logic is recommended as preparation for this course. Prerequisite: Junior or senior standing.


CS 444. Artificial Intelligence.

3 credits.
Students will study the history, premises, goals, social impact and philosophical implications of artificial intelligence. Students will study heuristic algorithms for large state spaces and learn to develop recursive and non-deterministic algorithms. Prerequisite: A grade of "C-" or better in CS 240.


CS 446. Software Analysis and Design.

3 credits.
Contemporary software analysis and design methods, tools, notations, techniques, processes, principles and practices. Students solve analysis and design problems alone or in teams and present their work to their peers and the instructor. Prerequisites: Grades of "C-" or better in CS 240 and CS 345.


CS/ISAT 447. Interaction Design.

3 credits.
Study of and practice with processes, principles, tools, models and techniques for designing interactions between humans and digital products and systems. Topics include physiological and psychological factors affecting interaction design, interaction design processes, interaction models, styles, and paradigms, design notations and representations, prototyping, and interaction design evaluation. Prerequisite: Junior standing.


CS/MATH 448-449. Numerical Mathematics and Computer Applications.

3 credits each semester.
Numerical solutions and error analysis of typical problems such as finding zeros of nonlinear functions, solving systems of linear and nonlinear equations, interpolation, approximation, integration, solving ordinary differential equations, optimization, and Monte Carlo methods. Prerequisites for CS/MATH 448: MATH 237, MATH 300 and MATH 248. Prerequisites for CS/MATH 449: CS/MATH 448 and MATH 336.


CS 450. Operating Systems.

3 credits.
Introduction to the design and implementation of modern operating systems. Explores fundamental concepts of operating systems, concurrency and synchronization, memory management, file systems, and system protection mechanisms. Course work includes a significant programming component. Prerequisites: Grades of "C-" or better in CS 240 and CS 350.


CS/MATH 452. Design and Analysis of Algorithms.

3 credits.
An introduction to the analysis, design and theory of algorithms. Algorithms studied will be selected from searching, sorting and graph theory. Included are elements of counting, recurrence relations, direct and indirect proofs, recursion, complexity classes, language theory, decidability and undecidability. Prerequisites: CS/MATH 228 and CS 240.


CS 454. Internship in Computer Science.

1-3 credits.
An advanced course to give supervised practical experience in a professional computing environment. May be taken multiple times for credit, but no more than three credits may be used in the computer science program graduation requirements. Prerequisites: Junior standing, major in computer science and permission of the instructor.


CS 457. Information Security.

3 credits.
This course covers the basic issues of information system security. The roles of planning, management, policies, procedures and personnel in protecting the confidentiality, integrity and availability of information are described. Specific threats (malicious code, network attacks and hostile content) and widely used countermeasures (access control, mechanisms, firewalls, intrusion detection systems) are also discussed. Prerequisite: A grade of "C-" or better in CS 450.


CS 458. Cyber Defense.

3 credits.
A hands-on, lab-based learning experience in which the students engage in a series of mini projects to perform security assessment, penetration testing and hardening of networked systems. Students also participate in a cyber defense exercise. Prerequisites: Grades of "C-" or better in CS 457 and CS 460.


CS/ISAT 460. TCP/IP Networks.

3 credits.
An overview of Local Network hardware, LAN topology and design, and LAN protocols. Includes installation and management of network operating systems and TCP/IP services (address management, name management, file and print sharing, account management). Prerequisite: CS 350 or CS/CIS 320 or equivalent.


CS/ISAT 461. Internetworking.

3 credits.
Wide Area Network (WAN) and Metropolitan Area Network (MAN) design. Audio, voice, data and TV transmission over ATM/B-ISDN networks. The SONET signal hierarchy and Q3 standard interface model. Network security. Performance analysis of a given network. Prerequisite: CS/ISAT 460.


CS/ISAT 462. Network Applications Development.

3 credits.
Design and implementation of network-based applications using languages and architectures such as sockets, JAVA, TL1 and CORBA. Concepts in distributed processing, including synchronization of interprocess communication and management of replicated data. Analysis of performance issues related to distributed applications. Prerequisites: CS/ISAT 460 and either CS 159, CS 239 or CIS 344.


CS/ISAT 463. Network Analysis and Design.

3 credits.
In-depth introduction to the techniques and tools used to design and analyze computer and telecommunications networks. Overview of issues related to network performance, including the impact on cost, reliability and security. Prerequisites: CS/ISAT 460 and either CS 239 or ISAT 340.


CS/ISAT 464. Issues in the Telecommunications Business.

3 credits.
Addresses complex business concepts and issues in the telecommunications industry. Explores the interrelation of the economics of the telecommunications industry with ensuing social, ethical and security issues. Discusses topics in product and service creation, marketing, customer service and billing, and electronic commerce. Prerequisites: CIS 320, SMAD 356, and ISAT 340 or equivalent.


CS 474. Database Design and Application.

3 credits.
Students study database design and management with emphasis placed on data definition languages, data manipulation languages, query languages and management of the database environment. Prerequisite: Grades of "C-" or better in CS 345 and either CS 159 or CS 239 or equivalent.


CS 475. Distributed Database Management.

3 credits.
Students learn the concepts of client-server architectures and other aspects that arise in the design of distributed database systems. Prerequisite: A grade of "C-" or better in CS 474.


CS 476. Database Administration.

3 credits.
Students learn to administer a database by manipulating physical and logical components of a database management system. Topics include creation of an instance, managing of tables, indexes, privileges, profiles and roles. Prerequisite: A grade of "C-" or better in CS 474.


CS 480. Selected Topics in Computer Science.

1-3 credits.
Topics in computer science which are of interest but not otherwise covered in the regular computer science offerings of the department. Offered only with the approval of the department head; may be repeated for credit when course content changes. Prerequisite: A grade of "C-" or better in CS 159 or CS 239. Topics selected may dictate further prerequisites; students should consult the instructor prior to enrolling for course.


CS 482. Selected Topics in Information Security.

1-3 credits.
Topics in information security. Offered only with the approval of the department head; may be repeated for credit when course content changes. Prerequisites: Grades of "C-" or better in CS 240 and CS 350. Topics selected may dictate further prerequisites; students should consult the instructor prior to enrolling for the course.


CS 488. Computer Graphics Applications.

3 credits.
This course develops a computer graphics application package based on standard graphics functions as well as attributes of a graphical user interface. It includes experience in applying interactive computer graphics techniques to industrial problems. Prerequisites: Grades of "C-" or better in CS 240 and CS 350.


CS 497. Independent Study.

1-3 credits.
An advanced course to give independent study experience under faculty supervision. May be taken multiple times for credit, but no more than three credits may be used in the computer science program graduation requirements. Prerequisites: Junior standing, major in computer science and permission of the program coordinator.


CS 499. Honors.

6 credits.
Year course. See catalog section "Graduation with Honors."

RETURN TO TOP