Bookmark and Share

400 Level Courses in Computer Science

CSC 402 - Advanced Data Structures
3 sh
This course is the second course in data structures.  It is designed to present the computer science student with depth of knowledge in the area of data structures.  The course is a study in advanced topics of data structures focusing on their structure, efficiency and application.  Data structures introduced or expanded include graphs, sets and trees. Prerequisite: CSC 237.
CSC 411 - Advanced Networking 3 sh
This course deals with the theory, implementation and administration of networks. It  is also concerned with the various layers of the Internet architecture stack, with concentration on layers 3 and 4. The primary protocols for these layers, Transmission Control Protocol (TCP) and Internet Protocol (IP), will be studied in detail. Network addressing and related protocols will also be covered. Prerequisites: CSC 311 or unconditional admission to the Graduate program.
CSC 415 - Design and Analysis of Algorithms I 3 sh
This course examines the algorithm design and analysis techniques. Contents include analysis of algorithm efficiency, recursion, divide and conquer, decrease and conquer  (incremental approach), transform and conquer, dynamic programming, greedy algorithm, and basic search and sorting. Prerequisites: CSC 126 and CSC 237 or unconditional admission to the Graduate program in CSC or permission of instructor.
CSC 421 - Web-Based Software Design & Development 3 sh
This course introduces the students to web-based software design. Using object-oriented techniques, the students will learn how to develop mainly on the client side of event-based web applications. Projects will build rudimentary knowledge of event-based design, and then expand upon those foundations to create web-based software and to add multimedia enhancements, including audio, video, and animation. The completion of projects using these features is an integral part of the course. Prerequisites: (CSC 237 or CSC 253) and CSC243.
CSC 423 - Game Development II
3 sh
This course is a continuation of the subject matter of CSC 320, Games Development I. In CSC 320, the basics of game development are covered, from concept to storyboard to low-tech prototype and finally to implementation using a game engine. In this course, students will continue the study of game engines and look closely at some of the more advanced features. Animation techniques, 3D modeling, rigging, gravity, and artificial intelligence will be examined. The student will implement at least two original games using these aspects of game development. Prerequisite: CSC320 or acceptance into a computer science graduate program (CS/SD, CS/IT, PSM).
CSC 425 - Principles of Compiler Design I 3 sh
Content of this course includes multi-phase, translation, lexical analysis, parsing, LL, LR, and LALR parser constructors, error recovery, symbol table organization, static semantic analysis, and the interpretation of formal semantics. Prerequisites: CSC 310(Procedure Oriented Programming Languages) or permission of the instructor.
CSC 441 - Advanced Information Security 3 sh
This course is an in-depth study of information security. Topics include security threats and attacks, encryption algorithms, cryptosystems, attacks on cryptosystems, firewalls, VPNs, IDPSs, and network security.  The concepts of the above will be explored and discussed. Prerequisite: Prerequisite: CSC341 or unconditional acceptance into the graduate program.
CSC 445 - Introduction to Intelligent Robotics 3 sh
This course deals with the theory and implementation of intelligent robotics and autonomous agents. The history, fundamental principles, elements, and algorithms of intelligent robots, both in simulation and in the real world, will be examined. Fundamental issues and debates regarding design and implementation and their roots in knowledge representation and theoretical computer science will be investigated. Using the knowledge gained, students will implement actual designs. Prerequisite: CSC 237 or CSC 253 or permission of instructor.
CSC 447 - Artificial Intelligence I 3 sh
An overview of artificial intelligence is presented, including its history, concepts, techniques and ethical implications. An artificial intelligence programming language (e.g., LISP, Prolog) will be introduced. Prerequisites: CSC 237 or CSC 253 or permission of instructor.
CSC 456 - Database Management Systems I 3 sh
Database systems are an integral component of almost every information technology system. This course introduces essential database concepts, data models, database design principles, data normalization, and query languages primarily from a relational database point of view. Various real-world problems of moderate to high complexity are discussed to design and implement database applications. Prerequisites: CSC 356 or unconditional acceptance in graduate program or instructor's permission.
CSC 458 - Data Mining and Predictive Analytics I
Many academic and commercial endeavors apply the techniques of data mining and predictive analytics to their data sets. Students taking this course will learn methods and software tools for locating and obtaining data of interest, for preparing data for semi-automated analysis, for interacting with software tools in analyzing data for patterns, for visualizing structural and dynamic patterns in data, and for designing systems that respond to patterns in data. Data cleaning and formatting require some programming in a modern scripting language. Other course activities include learning to use off-the-shelf software tools to accomplish the tasks of data analysis.
Prerequisites:  At least sixty university credits completed and (a grade of “C” or better in CSC223) and (a grade of “C” or better in one of the following courses: MAT140 or MAT150, or MAT 301 or POL/PSY/SOC200 or SOC201 or BUS120); or unconditional acceptance into a graduate program in CSC.
CSC 459 - Introduction to Big Data
This course explores key data management and analysis techniques, which deal with massive datasets to enable real-time decision-making in distributed environments, business intelligence in the Web, and scientific discovery in a large scale. In particular, map-reduce parallel computing paradigms and associated technologies, such as distributed file systems, noSQL databases, and basic machine learning methods, will be explored.
Prerequisites: At least sixty university credits completed and (a grade of “C” or better in CSC223) and (a grade of “C” or better in one of the following courses: MAT140 or MAT150, or MAT 301 or POL/PSY/SOC200 or SOC201 or BUS120); or unconditional acceptance into a graduate program in CSC.
CSC 464 - Human Computer Interaction 3 sh
This course is designed to provide an understanding of the principles of user interface design for software, and also to gain practical experience designing interfaces for existing software applications. Prerequisites: CSC 237or CSC 253, and some experience implementing graphical user interfaces, or permission of instructor.
CSC 472 - Independent Study and/or Projects in Computer Science 1 - 6 sh
This course involves individual independent study in some area of computer science under the direction of a CS group staff member. This study can be made in any of the areas of analog and hybrid computers, artificial intelligence, automate theory, business information systems, computer-aided design, computer-assisted instructions, computer graphics, computer mechanisms and devices, computer systems, computer telecommunication, computer typesetting, information retrieval, linguistic processing, mechanical languages, numerical analysis, programming theory, or switching systems and logical design, and others. A student may register for this course more than once up to a maximum of six hours of credit. Prerequisites: Consent of the student's advisor, instructor and department chairperson.
CSC 480 - Selected Topics in Computer Science 3 sh
An in-depth study of a specialized area of computer science.  Content will vary from semester to semester.  May be repeated with a different topic. Prerequisites: Permission of instructor, advisor, and department chairperson.