Computing Sciences

Degrees and Certificates

8491

Theory and practice of information management including procedural extensions to SQL, non-relational databases, data warehousing, data mining, and machine learning.

Classes

CSC 7000 : Algorithms & Programming

Algorithm design and refinement; extensive programming; loop and selection control; recursion; arrays, pointers, records and strings; abstract data types: linked lists, stacks, queues, binary trees; elementary search and sorting.

Credits

3

CSC 7100 : Computer Systems

Fundamental concepts in computer architecture and operating systems. Information representation, gates and digital logic, ALU and central processing organization, instruction sets, basics of pipelining, processes, memory management and file systems.

Credits

3

CSC 8000 : Found of Algor & Data Struc

Programming in Java or another object-oriented language. Program design with an emphasis on the object paradigm. Classic algorithms and data structures. Significant programming assignments are required.

Credits

3

CSC 8200 : Hlth Informatics & EHealth Sys

Evolution, current status, and emerging trends of US and global computerized health information systems, architectures, technical standards, regulations, including administrative and clinical applications, clinical decision support and data-analytics systems, electronic medical and personal health record systems/tools, personal health/fitness and medical device integration solutions, rapidly emerging mobility/tablet/smartphone/ app, product/system interoperability concepts, issues, and implications (aka mHealth, pHealth, and uHealth), and overarching population health patient safety, and health quality/outcome goals, gaps and challenges.

Credits

3

CSC 8210 : Hlthcare Safety Secur Law&Eth

US and relevant international health and data security and privacy laws/regulations, HIPAA and HITECH compliance for EHR software and medical devices, federal and state patient privacy and health data access rights, electronic transmission of health data, health insurance, FDA rules and regulations, unauthorized access, vulnerabilities, unsecured wireless access, inadequate encryption, authentication failures, and other access control vulnerabilities, security risk assessment, privacy and security gaps in health information exchanges, federal and state privacy breach notification laws and related civil and criminal penalities, and successful security compliance audit and management strategies.

Credits

3

CSC 8220 : Software Engr&Hlth Informatic

An introduction to software engineering covering development life-cycle models, requirements analysis and specification, design concepts and methods, UML, testing, maintenance, CASE tools and management concerns, middleware and data/function integration, medical device/system interoperability.

Credits

3

CSC 8230 : Database System&Hlth Infomatic

Architecture of a database system; conceptual and implementation models; query languages; integrity, security, and concurrency; hands-on experieince with selected US government EMR/PHR/MRS/HIS systems; SQL and NoSql DBs; Big Data in eHealth; database access via web services; data representation standards such as XML, JSON, HL7.

Credits

3

CSC 8301 : Design and Ana of Algs

Fundamental strategies for algorithm design; mathematical and empirical techniques for analysis of nonrecursive and recursive algorithms, with applications such as sorting, searching, string processing and graphs; NP-complete problems and approximation algorithms.

Credits

3

CSC 8310 : Programming Languages

Organization, characteristics, constructs, and design principles of programming languages; syntax, semantics, and pragmatics; language implememtation issues; different programming paradigms such as imperative, functional, object-oriented, and logic programming.

Credits

3

CSC 8400 : Computer Systems

A continuation of the study of properties of computing systems. Topics include computer performance; pipelining; storage technologies; systems aspects of interconnection networks; parallel and distributed architectures. Prerequisite is CSC 7100 or the equivalent.

Credits

3

CSC 8450 : Digital Forensics

Digital forensics plays a vital role in cybersecurity, criminal/civil investigations and internal corporate investigations. This course provides an in-depth study of digital evidence preservation, digital forensic techniques and data analysis. Password cracking, encryption/decryption, volatile data extraction and network forensics are just some of the forensic techniques that will be covered. The course will also cover the use of advanced forensic tools, legal and ethical issues related to forensics, and security management techniques required for resiliency in today's digital workplace.

Credits

3

CSC 8470 : Computer Graphics

Interactive program development in 2D/3D graphics: event handling, real-time data sampling, and strategies in programming computer games; 2D/3D modeling; perspective viewing; object transformation; graphical user interface design.

Credits

3

CSC 8490 : Database Systems

Modern database systems, including relational and NoSQL systems. Emphasize practical knowledge while covering the essential theory design; query lanquages; security; transactions. Focus on both theory and practice.

Credits

3

CSC 8495 : Information Retrieval

Study of storage and retrieval of information on a large collection of resources. Topics include: algorithms for efficient storage and retrieval, information discovery, extraction, NLTK, web crawling, precision and recall, document classification, Python programming, discussion and review of current literature.

Credits

3

CSC 8505 : Compiler Construction

Finite state methods for lexical and syntactical analysis; symbol table construction, run-time-code organization for block structured language, intermediate code generation, and pseudo-object machines. LR(k) and LL(k) parsers. Programming assignments and exercises are given.

Credits

3

Prerequisites

CSC 8301 :C and CSC 8310 :C

CSC 8510 : Theory of Computability

Automata theory: deterministic and non-deterministic finite automata, pushdown automata, regular languages, context-free grammars, pumping lemma. Computability and recursion theory: Turing machines and their variations, decidability and recursive enumerability, mapping reducibility and Turing reducibility, undecidability of the halting problem, logical theories and Godel's incompleteness theorem. Complexity theory: time complexity, space complexity, major open problems on computational complexity. Corequisite: CSC 8301 or degree program in mathematics.

Credits

3

CSC 8515 : Machine Learning

Study of algorithms and systems that can learn without being explicitly programmed. Topics include: clustering, classification, prediction, supervised learning, unsupervised learning, decision trees, support vector machines, random forests, regression, dimensionality reduction, neural networks, deep learning, and probabilistic graphical models.

Credits

3

CSC 8520 : Artificial Intelligence

Problem-solving methods; knowledge representation; search; predicate calculus; automated theorem proving; natural language processing.

Credits

3

Prerequisites

CSC 8301 :C

CSC 8525 : Computer Vision

Graduate research seminar exploring the algorithms and state-of-the-art techniques in the field of computer vision and image processing. Topics include image processing, pattern recognition, feature detection, image and object segmentation, computational photography, object detection, and face recognition. A familiarity with linear algebra and statistical methods is recommended but not required.

Credits

3

CSC 8540 : Software Engineering

An introduction to software engineering covering development life cycle models, requirements analysis and specification design concepts and methods, testing, maintenance, CASE tools and management concerns. Additional topics may include reuse metrics, experimentation, reengineering, development environments, and standards. The student may be required to write a research paper and/or give an in-class presentation.

Credits

3

CSC 8541 : Requirements Engineering

Requirements elicitation and analysis; requirement specification; test driven development; system modeling; requirements validation; requirements management.

Credits

3

CSC 8542 : Software Design and Evolution

Evolutionary design using agile methods including refactoring; design issues for mobile computing/embedded systems; designing for testability; analysis patterns and design patterns; configuration management; software evolution through release management.

Credits

3

CSC 8543 : Software Testing&Quality Assur

Role of Software Quality in SDLC, Test Planning Theory, Model Driven Test Development, Problem Solving, SQA. Student's projects and presentations integral to the course.

Credits

3

CSC 8544 : Software Project Management

Provides an in-depth study of project management theory, with a focus on the unique characteristics of software projects, using practical examples and team exercises to reinforce concepts. Topics include: managing project goals and constraints, emphasizing fundamental scope, schedule, budget and quality objectives, processes, tools, techniques, risks and outcomes, team building, conflict management and communications.

Credits

3

CSC 8545 : Software Studio

The art and science of creating reliable and maintainable code. Topics include: test-driven development, code quality metrics, code coverage, defensive programming, risk conscious maintenance, debugging, refactoring, professional tools, distributed version control, cultivating an expressive coding style, code review, pair programming, software craftsmanship, software experimentation and myth-busting.

Credits

3

CSC 8550 : Computing for Data Science

The computing parts of the interdisciplinary subject, Data Science. Topics include: data cleaning, data wrangling, visualization, time series, machine learning fundamentals. Python or similar libraries that support managing datasets. Review of current data science research papers. Students will complete a major project that demonstrates an understanding of the entire data science process.

Credits

3

CSC 8560 : Computer Networks

Computer networks as an application development platform; services required by and provided to distributed application electronic mail systems enhancement; access to remote file systems; integration of remote resources such as components of the World Wide Web into applications; abstract syntax notation; data compression and encryption; session control and synchronization; transport protocols; network addressing and routing; LAN and MAN medium access control; bridging. Treatment of Open Systems Interconnection and Internet protocols and services.

Credits

3

Prerequisites

(CSC 8301 :C and CSC 8410 :C)

CSC 8565 : Cybersecurity

High level overview of issues, challenges and solutions surrounding cyber security and the protection of people, assets and information. Topics include the evolution, present state and future of cyber risk: security fundamentals; cyber security drives including regulations, privacy and brand protection; the techniques and technologies used to address cyber risks; challenges to implementing cyber controls, organization, management and operating models.

Credits

3

CSC 8566 : Internet of Things

The advancement of embedded processes and sensor networks that have made the IOT feasible. Topics include: Introduction, Domains of application, IOT VS M2M, IOT Management, Protocols, Design Methodologies, Hands on Design using Raspberry Pi and Python, Reviewing servicers and clouds, and data analytics.

Credits

3

CSC 8570 : User/System Interface

The design and measurement of human-computer interfaces, with the objectives of developing models of user communities, summarizing current research in user-oriented design, defining design criteria for the user/system interface, and constructing test strategies for interactive software systems.

Credits

3

CSC 8600 : Object Oriented Design & Prog

Introduces the theoretical and practical issues underlying the object-oriented paradigm, including classes, encapsulation, inheritance, and polymorphism. Primary topics also include object-oriented analysis and design, databases, and technology transfers. The use of an object- oriented programming language, such as Java or C++, is an integral part of the course. Problems involving program design and implementation will be assigned. The student may be required to write a research paper and/or give an in-class presentation.

Credits

3

Prerequisites

(CSC 8301 :Y :C or CSC 8410 :Y :C)

CSC 8610 : Multimedia Technology

Theory and practice of multimedia content, representation, compression, storage, and delivery. Content types include text, audio, images, graphics, animations, and video. Student projects and presentations as integral part of the course.

Credits

3

Prerequisites

CSC 8301 :C

CSC 8620 : Logic

Boolean connectives and propositional logic; quantifiers and first-order logic; natural deduction, resolution and other methods of human or computer reasoning; set theory; induction; formal arithmetic.

Credits

3

CSC 8700 : Sys Prog - UNIX & C.

The UNIX operating system: command interpreters, shell programming, process structure, file system, utilities like grep, sed, awk, and perl. C programming: file processing, libraries, program environment, system calls.

Credits

3

CSC 8990 : Graduate Computing Practicum

Work experience in computing, CSC graduate program approval required for a specific work opportunity. Prerequisite: Completion of graduate CSC core: CSC 8301, 8310, 8400, 8410, and 8510.

Credits

1

CSC 8991 : Grad Practicum Continuation

Continuation of existing practicum experience for second consecutive semester. Open to graduate students in computer science or software engineering.

Credits

0

Prerequisites

202110

CSC 9000 : Guided Study

Faculty-directed study by small number of students on topic of mutual interest. Topics vary with faculty & student goals. May replicate rarely offered course or research topics not covered in existing courses. Requires permission of instructor & program director. Open to graduate students in computer science or software engineering.

Credits

3

CSC 9010 : Special Topics

Advanced elective study of topics of current interest and importance in the computer field. This may be retaken for a different topic.

Credits

3

CSC 9025 : Grand Challenges of Computing

Project-based course; research track; research topics, tools for investigation, modes of discovery and presentation, sources of information, inspiration, foundations of computing application; development track: significant software development, approaches, tools, techniques, trends, domains of applications. 

Credits

3

CSC 9030 : Thesis Direction

Expanded independent study in which the student makes an original contribution to the computer science field.

Credits

3