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 further depth of knowledge in a continuation of CSC 237, 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 hash tables, 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, TCP and 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 designing techniques and analysis tests for algorithms. Contents include divide and conquer technique, greedy algorithms, dynamic programming, basic search and traversal techniques, and backtracking. 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 students to design and development of software that is executed within web browsers. Topics include client-side web applications that incorporate library components and containers, drawing objects, and multimedia including audio and visual enhancements; basic scripting in webpages will also be included. Students complete an incrementally built user interface that incorporates course topics to create a significant web application. Prerequisites: CSC 237 and CSC 243 or permission of instructor.
CSC 423 - Game Development for Computer Scientists II
3 sh
This course is a continuation of the subject matter of CSC 320, Games for Computer Scientists. In CSC 320 we cover the basics of game development from concept to storyboard to low-tech prototype to implementation using a game engine. In this course we will continue our study of game engines and look at some of the more advanced features of this game engine. We will be examining animation techniques, 3D modeling, rigging, gravity, and artificial intelligence. The student will implement at least two original games using these aspects of game development. Prerequisite: CSC 320.
CSC 425 - Principles of Compiler Design I 3 sh
The 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 235 and CSC 310 or unconditional admission to the Graduate program in CSC or permission of 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: CSC 341 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 and CSC 253 or unconditional admission to the Graduate program in CSC or permission of instructor.
CSC 456 - Database Management Systems I 3 sh
This course provides an introduction to database concepts; data models and data normalization; data language, database design and implementation primarily from a relational database point of view as well as the use of a relational DBMS in a real life problem. Prerequisites: CSC356 or unconditional admission to the Graduate program in CS.
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:  Junior status and (a grade of "C" or better in CSC 120, 123 or 135), and (a grade of "C" or better in MAT 140, or MAT 150, or MAT 301 or POL/PSY/SOC 200 or SOC 201 or BUS 120); or unconditional acceptance in graduate program.
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 and (a grade of "C" or better in one of the following courses: CSC136 or CSC220 or CSC243 or 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 Computer Science graduate program.
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: CSC237 or CSC253, 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 CSC 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: Permission 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.