
|
 |
|
 |
 |
Course Descriptions
Computer Science (CSC)
Graduate Courses
To view the complete schedule of courses for each semester, go to
Cardinal Students.
CSC 412: Microprocessor Programming
3.00
Credits
This course presents the fundamentals of microprocessor architecture and interfacing. Topics include instruction set architecture, assembly language, debugging and IO device interfacing techniques. The PIC processor architecture will be studied, utilizing windows based integrated development environment and tools suite. A PIC hardware evaluation board is used as the basis for interfacing experiments. Software will be written in assembly language. The Pentium processor architecture and the PCI bus will be studied. A hardware/software project will be assigned toward the end of the course. The course is 50% lab and 50% lecture.
Prerequisites:
EE 326 Switching Circuits and Logic Design
CSC 504: Compiler Construction
3.00
Credits
An in-depth study of the programming languages compilation process. The course encompasses various topics about programming languages including language structures, grammars, and parsing techniques. The course also studies the building blocks of a modern compiler, and the various stages of the compilation process from the language parsing to code generation and optimization. Prerequisite: CSC 370.
CSC 507: Unix System Programming
3.00
Credits
Principles of object-oriented software development. Use of
observer, strategy, composite, factory, and state patterns to
build a framework for network protocol software. Discussion
and implementation of several Client/Server communications
methods: TCP sockets, Messages, and shared memory. Other
topics include remote procedure calls (RPC) and multithreaded
programming. Prerequisite: CSC 124 or equivalent.
CSC 508: X Window Programming
3.00
Credits
An overview of the X Window System, explaining the network-transparent aspect of this
windowing system, followed by the very basics needed to create an X Window
Application: establishing a connection to the X server, creating
windows, drawing, color, selecting fonts, and manipulating
events. Explores the C language xlib interface to graphics,
window manager, and events through several programming
assignments. The advantage of using a toolkit, using the C
language interface to several public domain toolkits with
emphasis on Tcl/Tk or the Hush C++ API to Tcl/Tk, and v a
C++ GUI framework. Prerequisite: CSC 124 or equivalent.
CSC 509: Web Design &Programming
3.00
Credits
This course provides the conceptual foundation for the logical structures necessary to develop web pages and websites. Topics include logic structures, control structures, variables, design contemplations, I/O operations, and other web programming considerations. Student will learn the basics of creating web pages and combining these into a functional website as a group assignment. A brief introduction to several web-based programming languages and tools, such as XHTML, CSS, JavaScript, Java Applets, XML, XSLT, DOM, Perl, CGI, Apache, Java Servlets, JSP, PHP, ASP.NET, MYSQL, JDBC, and HTTP is provided. Student will also learn the necessary skills to build, maintain, and host web pages and websites. Other topics include Web server platform and architecture, client-side and server-side programming concepts, static and dynamic web pages, database and data warehousing, data access techniques, and security issues in web design.
This course does not require any prior web design or programming knowledge.
CSC 511: Computational Complexity
3.00
Credits
Examination of computer algorithms from the point of view of
computational complexity. Topics include polynomial algorithms,
FFT and GCD; algorithms for vector and parallel machines,
pipelines, and systolic arrays; NP completeness. Prerequisite:
CSC 210.
CSC 513: Fundamentals of Computer Graphics
3.00
Credits
This is a web-based introductory course in Computer Graphics that uses a practical approach to explain the subject material. The computer graphics is spreading beyond the computer science discipline and graphics experts. A descriptive and process oriented treatment makes the subject more approachable for students from other disciplines. Students will learn and apply basic computer graphic skills with the help of latest tools. With the use of an excellent graphics API such as OpenGL, students can bypass many of the details of the algorithms and create effective images early in the course. Topics include viewing, OpenGL, color and blending, lighting and shading, event handling, texture mapping, rendering, animation, interpolation and spline modeling, etc. Pre-requisite: Basic computer skills
CSC 520: Topics in Computer Science
3.00
Credits
An individual topic from the area of computer science, investigated in
detail with students examining accepted and proposed ideas
relative to the topic. Sample topics include, but are not limited
to, software testing, issues in large-scale software development,
current issues in artificial intelligence, issues in
safety-critical software, issues in business-oriented software,
database design and advanced analysis of algorithms. May be
repeated for credit with different topics. Prerequisite: Permission
of instructor.
CSC 522: Operating Systems
3.00
Credits
A study of the major concept areas of operating systems. Topics include operating systems structure, process and thread scheduling, process synchronization, deadlock management, memory management, file-systems, protection, I/O traffic controls and evaluation models. Prerequisite: 306 or Permission of Instructor.
CSC 523: Introduction to Computer Networks
3.00
Credits
Introductory concepts of modern computer networks and its association with the Internet. Different protocol layers and architectures of a computer network. Particular emphasis will be given on application layer,
transport layer, and network layer. Applications in multimedia networking and network management. Prerequisite: CSC 124 or equivalent.
CSC 524: Secure Programming
3.00
Credits
Introduction to Software Security, risk assessment, buffer overflows, design for security, security testing and auditing, security issues of open source and closed source software, guiding principles of software security, selection of appropriate technologies, access control, race conditions, trust management, input validation, and database security.
CSC 525: Embedded Systems Programming
3.00
Credits
no description available
CSC 531: Data Communications Networks
3.00
Credits
This course deals with basic principles of networking. More specifically it covers the following topics: Network Architectures and Protocols. OSI model and
TCP/IP protocol suite. Transmission media. Protocols at the physical, data
link, network and transport layers. Multiplexing, error and congestion control. Circuit and packet switching. Local and metropolitan area networks. ATM and frame relay. Network security and distributed applications. Prerequisite: EE 413 or equivalent.
CSC 532: System Simulation
3.00
Credits
Modeling and simulation of continuous and discrete systems,
simulation languages, digital simulation techniques, Monte Carlo
method, queuing models, design of simulation experiments and
analysis of results, applications. Prerequisite: Permission of
instructor.
CSC 533: Optimization
3.00
Credits
A survey of mathematical programming, combinatorial
optimization, and weak optimization. Studies practicalities,
convergence and efficiency of different optimization methods.
Introduces contemporary methods such as Simulated Annealing
and Genetic Algorithms. Considers applications in computer
science, engineering, and business. Suitable for computer
science, mathematics, engineering, and business majors.
Prerequisites: CSC 124, MATH 122.
CSC 541: Database Systems
3.00
Credits
Principles of database system including database design, implementation, and management. Topics may include review of database language, data modeling, database security, advanced database concept, database connectivity with the internet and modern database management. Prerequisite: Permission of instructor.
CSC 551: Pattern Recognition
3.00
Credits
This course provides a broad introduction to pattern recognition. Topics include: Bayesian decision theory, density estimation, linear classifiers, nearest neighbor rules, decision trees, aritificial neural networks, dimensionality reduction, feature extraction and feature selection, clustering. The course is directed towards advanced undergraduate and beginning graduate students. Prerequisite: background in probabilistic and statistic theory, and senior level linear algebra.
CSC 564: Software Engineering
3.00
Credits
Examines the software development cycle with respect to the system life cycle.
Topics include software size and cost estimation, relative effort and
time distribution across software development phases, products of
the major activities of the software development process, the
various management techniques currently in use, and process
models of software development. Review of the desired attributes
of the software product (portability, reusability, maintainability,
etc.) from the perspectives of benefits of the attribute and
techniques for achieving the attribute. Prerequisites: CSC 370, CSC 280.
CSC 581: Cryptography and Steganography
3.00
Credits
Introductory concepts of cryptography and steganography; Classical and modern cryptographic algorithms - the underlying mathematics and analysis; Number theory; Cryptographic protocals in computer and data security applications; Fundamentals of information hiding - Techniques and applications.
Prerequisite:Graduate or senior undergraduate standing.
CSC 582: Game Programming
3.00
Credits
This is a 3-credit course, with the objective to initiate students to the
fundamentals of the Windows game programming using Microsoft DirectX.
Covered subjects include, Sound understanding and manipulation, Keyboard,
mouse, and Joystick programming, High Resolution graphics,
Artificial Intelligence, and 2D games. Prerequisites: programming ability in C++,
and Data Structures class.
CSC 592: Directed Study in WSN Protocols
3.00
Credits
The course provides an in-depth investigational study of wireless sensor networks (WSN) with emphasis on routing and media access protocols. Through this class, students will investigate research-oriented problems in WSN protocols, network management, and QoS handling. The class also includes hands-on training on wireless networks simulation environments, and programming of wireless sensor nodes.
CSC 611: Logic for Computing Scientists
3.00
Credits
Topics may include propositional logic, syntax and semantics,
proof theory vs. model theory, soundness, consistency and
completeness, first order logic, logical theories, automated
theorem proving, ground resolution, pattern matching unification
and resolution, Dijkstras logic, proof obligation, and program
proving. Prerequisite: CSC 312
CSC 612: Analysis of Algorithms
3.00
Credits
An advanced study in computer algorithms that encompasses several topics including dynamic programming, greedy algorithms, advanced data structures, graph algorithms, and approximation algorithms. The course also stresses the notion of algorithms complexity and NP-completeness. Prerequisites: CSC 311 or Permission of instructor.
CSC 613: Combinatorial Algorithms and Intractability
3.00
Credits
Topics may include combinatorial algorithms, nondeterministic
algorithms, classes P and NP, NP-hard and NP-complete problems,
and intractability, and design techniques for fast combinatorial
algorithms. Prerequisite:CSC 311
CSC 621: Computer Networks
3.00
Credits
Topics may include physical layer basics; network protocol
algorithms; error handling; flow control; multihop routing;
network reliability, timing, and security; data compression;
cryptography fundamentals; advanced network protocols and
infrastructure; applications of high-performance networks to
distributed systems; and high-performance computing and
multimedia domains. Prerequisite: CSC 323 or instructor's permission.
CSC 622: Advanced Operating Systems
3.00
Credits
Topics may include operating system structure and services,
processor scheduling, concurrent processes, synchronization
techniques, memory management, virtual memory, input/output,
storage management, file systems, network operating systems,
multiprocessor and distributed operating systems, and
operating system design. Prerequisite:CSC 306
CSC 623: Real-Time Systems
3.00
Credits
This course provides a theoretical and practical study of real-time systems, applications, and operating systems. It studies real-time applications, real-time systems, uni-processor scheduling, resource access control, multi-processor and distributed scheduling, and specific attributes of real-time network protocols and operating systems. Prerequisites: CSC 306 or permission of instructor.
CSC 624: Computer and Network Security
3.00
Credits
This course will introduce the application of cryptographic concepts in the practical implementation of network security practices and techniques. The issues here are: What are the risks and vulnerabilities of computer, Internet, and multimedia data? What are the countermeasures to fight these back? How does cryptographic technique enforce protection? What is digital signature? What is steganography and how is it used for authentication and counterfeit detection? What the different network security technologies are as applied to electronic mail, e-commerce, web transaction, and IP networks? Prerequisite: CSC 323 or instructor's permission.
CSC 633: Software Requirements & Specifications
3.00
Credits
Topics may include an examination of the definitional phase of
software development; a survey of requirements and
specification issues and techniques; and an analysis of
specification representations and techniques emphasizing
important application issues. Prerequisite:CSC 124 or equivalent
CSC 635: Software Verification, Validation, and Testing
3.00
Credits
Topics may include an examination of the test phase of software
development; test planning; requirements-based and code-based
testing techniques; tools; reliability models; and statistical
testing. Prerequisite:CSC 124 or equivalent
CSC 636: Distributed Computing
3.00
Credits
Topics may include the principles underlying the design and
implementation of distributed client-server software
components; technologies for developing distributed software
components, such as sockets, database connections, dynamic type
inspection, security, events, and dynamically building function
calls; and an introduction to middleware for programming
distributed asynchronous systems, including an introduction to
events, call-backs, and connections. Prerequisite: CSC 306 or equivalent.
CSC 641: Data Mining
3.00
Credits
Introduction to data mining techniques, including data preprocessing, data mining primitives, association rules, decision trees, cluster analysis, classification and machine learning, data visualization, and data warehousing. Applications from a wide variety of domains will be studied. Prerequisite: CSC 541 or Permission of instructor.
CSC 642: Artificial Intelligence
3.00
Credits
Topics may include state space search, heuristic search,
knowledge representation techniques, expert systems, automated
reasoning, definitions of intelligence, computer problem
solving, game playing, pattern recognition, theorem proving,
semantic information, processing, evolutionary systems, and
heuristic programming. Prerequisite: Instructor's permission.
CSC 643: Artificial Intelligence
3.00
Credits
Prerequisite: Instructor's permission.
CSC 650: Intelligent Multimedia
3.00
Credits
Lecture
Digital watermarking in multimedia applications, copyright protection, authentication,
tracking, digital asset management, access control, information hiding in multimedia.
Prerequisite: EE 634 or Instructor's permission.
CSC 651: Multimedia Processing and Information Retrieval
3.00
Credits
This course covers topics including multimedia systems, multimedia
applications, image compression and processing, video compression
and processing, content-based image retrieval, and content-based video
indexing and retrieval. Prerequisite: EE 634 or Permission of instructor.
CSC 665: Information Security
3.00
Credits
Principles of Infosec, security planning, risk management, security technology, physical security, implementing information security, legal, ethical, and professional issues in infosec, securtity and personnel, information security maintenance etc. Prerequisite: Permission of instructor.
CSC 671: Cyber-Security Laws, Ethics and Policies
3.00
Credits
Enforcement, review, and analysis of computer and network crimes, Electronics Communications Privacy Act, HIPPA, SOX, critical infrastructure protection, computer espionage and foreign intelligence collection, direct and covet action in peace time, military action in time of war, and international responses to Cyber threats. Prerequisite: Permission of instructor.
CSC 675: Visual Intelligence and Computer Vision
3.00
Credits
An Introduction to Computer Vision. Image Functions and geometry. Imaging devices for computer vision. Generalized and Segmented images. Texture and motion. Representation of two dimensional and three dimensional Structures. Knowledge representation and use. Matching and inference.
Prerequisite: Instructor's permission.
CSC 681: Security Architecture and Analysis
3.00
Credits
This course focuses on the analytical approach to system security and survivability. Topics may include Security Architectures, analysis and tradeoffs of different architectures, survivable system analysis, intrusion detection, vulnerability assessment, computer forensics, security protocols, firewalls, and VPNs.
CSC 691: Advanced Computer Architecture
3.00
Credits
An overview of advanced processor architectures, I/O subsystems, multiprocessor architectures and high performance networking. Advanced Pipelining and instruction level parallelism, memory hierarchy design, storage subsystems, interconnection networks, Multiprocessors. Prerequisite: CSC 391.
CSC 696: Independent Study
3.00
Credits
Student may seek approval to undertake a research or performance project for academic credit on an "independent study" basis. All such projects are similar in that they cannot be completed by the student as part of an existing class but can be completed by the student working on an independent basis with guidance from a faculty advisor.
CSC 728: Information Visualization
3.00
Credits
Information visualization deals with representing concepts and data in a
meaningful way. Depending on the medium used, information can be
visualized in either static or dynamic forms. This course covers topics
include rearrangement and interaction, interpretation of quantitative data,
representation and presentation, document visualization, and dynamic exploration
Prerequisite: CSC 643 or Permission of instructor.
CSC 775: Human-Computer Interface
3.00
Credits
The ways in which humans interact with computers will change dramatically
in the coming years. This course cover advanced topics in human-computer
interface (HCI): (1) models and frameworks, (2) usability engineering, (3) user
interface software tools, (4) HCI for collaborative applications, (5) HCI for
multimedia and hypermedia and (6) integrating real and virtual worlds.
Prerequisites: CSC 675, CSC 643 or Permission of instructor.
CSC 791: Directed Research
3.00
Credits
Allows a graduate student to individually propose, design, implement, and document a research project under the guidance of a faculty member. The research project should allow the student to study a topic to a greater extent than would be possible in a classroom setting.
CSC 792: Direct Research
3.00
Credits
Allows a graduate student to individually propose, design, implement, and document a research project under the guidance of a faculty member. The research project should allow the student to study a topic to a greater extent than would be possible in a classroom setting.
CSC 797: Master's Dissertation Guidance
3.00
Credits
no description available
CSC 991: Graduate Design
3.00
Credits
Allows a graduate student to individually propose, design,
implement, and document a research project under the guidance
of a faculty member. The research project should allow the
student to study a topic to a greater extent than would be
possible in a classroom setting.
CSC 995: Master's Thesis
3.00
Credits
Thesis Guidance
CSC 996: Master's Thesis
3.00
Credits
Thesis Guidance
CSC 997: Doctoral Dissertation
0.00
Credits
Dissertation Guidance
CSC 998: Doctoral Dissertation
0.00
Credits
Dissertation Guidance
|
|