CSC 114: Introduction to Computer Science
Credit, 3 sem. hrs.
An introduction to information processing. Topics to be covered include;
computer history, input/output, processing, data storage, application and system software, and the impact of computers on society. Hands-on experience with DOS, word processing, spreadsheet and database software, the Internet and a graphical user environment.
CSC 115: Foundations of Computer Science
Credit, 3 sem. hr.
Three hours of lecture per week. The class will meet some of these times in the computer laboratory. This course is designed to introduce the student with no prior programming experience to the fundamentals necessary to study the science ot computing. Topics include history of computing, computing as a tool and discipline, machine level data representation, algorithms and problem solving, fundamental programming constructs and software design methodology, fundamental data structures, operating systems, net-centric computing, human-computer interaction, artificial intelligence, simulation, and social issues in computing.
CSC 116: Intro. to Programming and Problem Solving
Credit, 4 sem. hrs.
Three hours of lecture and three hours of laboratory per week. This course is designed as an introduction to programming and problem solving. Topics to be included are the abstractions necessary for the program development process, design methodology, control structures, looping, procedures, interface design, functions, simple data types, aggregate data structures and objects.
CSC 216: Data Structures
Credit, 4 sem. hrs.
Prerequisite: CSC 116
Three hours of lecture and three hours of laboratory per week. An introduction to the basic concepts of data structures from a practical standpoint with an emphasis on the use of some of the abstractions necessary for structured program development. Topics include software development tools, top-down design, algorithm analysis, encapsulation, and methods of implementation as well as the common data structures stacks, queues, lists, and trees. Sorting and searching techniques employing these data structures will also be examined.
CSC 220: C/C++ Language Programming
Credit, 3 sem. hrs.
Prerequisites: CSC 116, or instructor's consent
A study of the syntax and features of the C and C++ programming languages.
CSC 231, 232, 233: Selected Language Programming
Credit, 1, 2, or 3 sem. hrs, respectively
Prerequisites: CSC 220 or instructor's consent
A study of the syntax and features of a selected special purpose language such as LISP, Prolog, Ada, Pascal, Fortran, Assembly, BASIC or COBOL. Other languages may be included as needed. May be repeated for credit if a different language is offered.
CSC 300: Fundamentals of Computer Science for Educators
Credit, 3 sem. hrs.
Prerequisite: CSC 216
A study of the methodology and concepts involved in computer education in the secondary schools. Topics included will be computer curriculum and computer laboratory techniques, course authoring, language survey, multimedia, and classroom networking.
CSC 302: Internet and WWW Basics
Credit, 3 sem. hrs.
Prerequisite: CSC 114
This course is intended for the general university audience and will cover basic Internet concepts such as telnet, ftp, and new groups as well as World Wide Web concepts such as searching and authoring. The social and ethical impact of the Internet will also be examined. This course cannot be applied to the requirements for the major in Computer Science or Computing and Information Systems, but may be taken as part of the minor in Computer Science or as general elective credit.
CSC 309: Discrete Structures
Credit, 3 sem. hrs.
Prerequisite: CSC 216, MAT 122
Concepts of algorithms, induction, recursion, proofs, topics from logic, set theory, combinatorics, graph theory, and automata theory fundamental to the study of computer science.
CSC 310: File and Systems Software
Credit, 3 sem. hrs.
Prerequisite: CSC 216
A study of file and data storage techniques and the operating systems software necessary to support such file systems. Topics include operating systems, I/O, memory management, indexing, hashing, buffering, and specialized file management techniques for database systems.
CSC 314: Computer Organization
Credit, 4 sem. hrs.
Prerequisites: CSC 216 and CSC 220
Three hours of lecture and three hours of laboratory per week. Computer system organization; internal organization and operation of digital computers; some systems software. A working knowledge of the C programming language is assumed.
CSC 320: Systems Analysis and Design
Credit, 3 sem. hrs.
Prerequisite: instructor's consent
Physical and logical design of an operational computer system. The processes of planning for control, implementation, change, analysis, and review of existing systems from a technological as well as managerial standpoint will be covered.
CSC 330: Social & Ethical Issues in Computing
Credit, 1 sem. hr.
Prerequisite: Junior standing
A study of the major social and ethical issues in computer science, a brief history of computer science, the impact of computers on society, and professional computer ethics.
CSC 381: Introduction to Numerical Methods
Credit, 3 sem. hrs.
Prerequisites: MAT 122 and CSC 116
This course looks into the modeling of mathematical concepts on a computer. Algorithms will be discussed and implemented which find roots of equations, give polynomial approximations to discrete data, approximate integrals and derivatives, solve ordinary differential equations and solve linear systems of equations. Cross-listed as MAT 381.
CSC 387, 388 , 389, and 380: Internship
Credit, 1, 2, 3, or 6 sem. hrs.
See Internships section of the Undergraduate Catalog.
CSC 402: Advanced Data Structures
Credit, 3 sem. hrs.
Prerequisite: CSC 216
A study of data structures and algorithms designed for their implementation. Lists, arrays, stacks, deques, queues, graphs, trees and tree structures, and various search and sorting techniques will be covered.
CSC 404: Programming Language Structures
Credit, 3 sem. hrs.
Prerequisite: CSC 216
Introduction to the principles of programming language design and implementation, syntax, data types, scope, data abstractions, concurrency and Object-Oriented Programming.
CSC 405: Introduction to Operations Research
Credit, 3 sem. hrs.
This course is the cross-listed as MAT 405.
CSC 415: Data Base Management Systems
Credit, 3 sem. hrs.
Prerequisite: CSC 216
Design and implementation of a data base management system. Also to be included is a study of hierarchical, network, inverted and relational structures, and application of DBMS to file organization and informational retrieval.
CSC 416: Software Engineering
Credit, 3 sem. hrs.
Prerequisites: CSC 216 and CSC 220
A study of the analysis, design and implementation of major software systems. Topics include software development life-cycles and software development product management using the C/C++ language. An exercise in developing a large software product is central to the course.
CSC 422: Operating Systems
Credit, 4 sem. hrs.
Prerequisites: CSC 220, CSC 314
Three hours of lecture and three hours of laboratory per week. An introduction to the various data and control structures necessary for the design and implementation of the modern computer operating systems. Process creation and control, interprocess communications, synchronization and concurrency, I/O memory management, and file systems concepts are explored in the context of the Unix operating system. A working knowledge of the C programming language is assumed.
CSC 423: Computer Networking
Credit, 3 sem. hrs.
Prerequisite: CSC 422
This course is a study of the physical and logical components used in modern computer networks. Topics include: fundamentals of signaling and data transmission using electromagnetic media, data encoding, multiplexing, circuit switching, packet switching, LAN and WAN technologies, internet working concepts, transport protocols, network security, and distributed applications. May include programming or laboratory assignments to demonstrate key concepts.
CSC 425: Relational Database
Credit, 3 sem. hrs.
Prerequisite: CSC 216
Concepts of relational database theory and design. Topics include: the relational algebra, relational calculus, dependency theory, normalization, multi-valued dependency, and concurrency. Database programming using SQL will be used to implement typical database applications.
CSC 431, 432, 433: Selected Topics
Credit, 1, 2, or 3 sem. hrs., respectively
These courses are offered in response to identified needs and interests.
CSC 440: Introduction to Artificial Intelligence
Credit, 3 sem. hrs.
Prerequisite: CSC 402
A study of fundamental concepts in AI. The focus is upon knowledge representation and searching, with emphasis on expert systems. Other topics include machine learning, natural language understanding, perception, specialized data structures such as semantic and neural networks, and open problems in the field of AI. Exercises using the LISP and/or Prolog languages.
CSC 450: Computer Graphics
Credit, 3 sem. hrs.
Prerequisite: CSC 220
An introduction to raster graphics technology. A study of the theory and practice necessary for comprehending the techniques for scientific visualization, interface design, and 2- and 3- dimensional data representation and manipulation.
CSC 455: Graph Theory
Credit, 3 sem. hrs.
This course is the cross-listed as MAT 455.
CSC 460: Automata Theory and Formal Languages
Credit, 3 sem. hrs.
Prerequisite: CSC 309
A study of languages, grammars, and machines at a theoretical level. Regular, context free, and context sensitive languages are covered, as well as finite state, push down and turing machines. The concept of decidabilityis also discussed.
CSC 481: Numerical Analysis
Credit, 3 sem. hrs.
Prerequisite: MAT/CSC 381
This course is a mathematical analysis of scientific computing. Topics covered include the stability and convergence of algorithms, interval arithmetic, fixed point iteration, matrix factorizations, norms and eigenvalues; iterative solutions to systems. Additional discussions will focus on the design of efficient algorithms for use on parallel computers. Cross-listed as MAT 481.
CSC 5402 - Advanced Data Structures and Algorithm Analysis
Credits, 3 sem. hrs.
Prerequisite(s): CSC 216 A study of complexity of algorithms and algorithm design and data structures used for their implementation along with the analysis of algorithmic performance of these designs. Advanced searching and sorting techniques, trees and tree structures, hasing, network flows, recurrence, divide and-conquer techniques, transform-and-conquer techniques, dynamic programming, and greedy algorithms are among the topics examined.
CSC 5404 - Programming Language Structures
Credits, 3 sem. hrs.
Prerequisite(s): CSC 216. Introduction to the principles of programming language design and implementation, syntax, data types, scope, data abstractions, concurrency and Object Oriented Programming.
CSC 5405 - Introduction to Operations Research
Credits, 3 sem. hrs.
Prerequisite(s): Instructor’s consent. Application of quantitative methods to problems arising in the areas of business and computing science.
CSC 5415 - Data Base Management Systems
Credits, 3 sem. hrs.
Prerequisite(s): CSC 216. Design and implementation of a data base system. This course focuses on relational data base systems concepts such as relational algebra, normalization, transaction management, concurrency control, authentication, XQuery, Zpath, SQL and design and implementation of concepts. A major database design and implementation project will be required.
CSC 5416 - Software Engineering
Credits, 3 sem. hrs.
Prerequisite(s): CSC 216. A study of the analysis, design, and implementation of major software systems. Topics include software development life-cycles and software development product management. A collaborative exercise in developing a large software product is central to the course. This course requires oral presentation of final software engineering project.
CSC 5422 - Operating Systems
Credits, 3 sem. hrs.
Prerequisite(s): CSC 220, CSC 314. An introduction to the various data and control structures necessary for the design and implementation of the modern computer operating systems. Process creation and control, inter-process communication, synchronization and concurrency, I/O memory management, and file systems concepts are explored in the context of the Unix operating system. A working knowledge of the C programming language is assumed.
CSC 5423 - Computer Networking
Credits, 3 sem. hrs.
Prerequisite(s): CSC 5422 or CSC 422. This course is a study of the physical and logical components used in modern computer networks. Topics include: fundamentals of signaling and data transmission using electromagnetic media, data encoding, multiplexing, circuit switching, packet switching, LAN and WAN technologies, internetworking concepts, transport protocols, network security, and distributed applications. May include programming or laboratory assignments to demonstrate key concepts.
CSC 5425 - Advanced Database Systems
Credits, 3 sem. hrs.
Prerequisite(s): CSC 5415 or CSC 415. This course will focus on database systems theory. Topics include Query optimization, Object Oriented Databases, hybrid databases, data mining, data warehousing, physical database structures, indexing and recovery.
CSC 5435 - Computer Security
Credits, 3 sem. hrs.
A study of the fundamental concepts and practical applications of computing systems security from a critical and analytical standpoint. Topics include, security concepts and services, physical, operational, and organizational security, cryptography, hardening, secure code, secure applications development, threats, vulnerabilities, and countermeasures, legal, ethical and privacy considerations.
CSC 5436 - Cryptography & Network Security
Credits, 3 sem. hrs.
Prerequisite(s): CSC 423 or 5423 A study of the fundamental concepts and practical applications of cryptography and network security. Topics include: symmetric and asymmetric cryptography, cryptographic hash functions, authentication and digital signature, management and distribution of keys, cloud and wireless security introduction, and wired network security, IPSec, authentication and security at various levels.
CSC 5438 - Computer & Network Forensics
Credits, 3 sem. hrs.
Prerequisite(s): CSC 422 or 5422 A study of computer and network forensics. Topics include: computer crimes, standard techniques of digital evidence acquisition and handling, techniques and methods of computer, network, mobile, and cloud forensics, network device and server forensics, network tunneling, malware forensics, and preparation of the computer scientist to testify in court. The students will conduct an investigation of computer crime and prepare the necessary reports.
CSC 5440 - Introduction to Artificial Intelligence
Credits, 3 sem. hrs.
Prerequisite(s): CSC 5402 or CSC 402. A study of fundamental concepts in AI. The focus is upon knowledge representation and search, with emphasis on expert systems. Other topics include machine learning, natural language understanding, perception, specialized data structures such as semantic and neural networks, and open problems in the field of AI. Exercises using the LISP and/or Prolog languages may be assigned.
CSC 5445 - Web-Centric Programming Methodologies
Credits, 3 sem hrs
A study of the fundamental concepts and practical applications of computing systems security from a critical and analytical standpoint. Topics include: security concepts and services, physical, operational, and organizational security, cryptography, hardening, secure code, secure applications development, threats, vulnerabilities, and countermeasures, legal, ethical and privacy considerations.
CSC 5450 - Computer Graphics
Credits, 3 sem. hrs.
Prerequisite(s): CSC 220. An introduction to raster graphics technology. A study of theory and practice necessary for comprehending the techniques for scientific visualization, interface design, and two- and three- dimensional data representation and manipulation.
CSC 5455 - Graph Theory
Credits, 3 sem. hrs.
Prerequisite(s): MAT 222 or instructor’s consent. An introduction to graph theory with a wide variety of applications, both to other branches of mathematics and to the real world. Some subjects to be treated are graphs, subgraphs, cycles, trees, matchings, and planar graphs.
CSC 5460 - Automata Theory and Formal Languages
Credits, 3 sem. hrs.
Prerequisite(s): CSC 309. A study of languages, grammars, and machines at a theoretical level. Regular, context free, and context sensitive languages are covered, as well as finite state, push down and Turing machines. The concept of decidability is also discussed.
CSC 5481 - Numerical Analysis
Credits, 3 sem. hrs.
Prerequisite(s): MAT/CSC 381. This course is a mathematical analysis of scientific computing. Topics covered include the stability and convergence of algorithms, interval arithmetic, fixed point iteration, matrix factorizations, norms and eigenvalues; iterative solutions to systems. Additional discussions will focus on the design of efficient algorithms for use on parallel computers.
CSC 6504 - Selected Topics
Credits, 3 sem. hrs.
Prerequisite(s): Instructor’s consent. A survey of literature related to a selected area of computer science.
CSC 6505 - Selected Topics
Credits, 3 sem. hrs.
Prerequisite(s): Instructor’s consent. A survey of literature related to a selected area of computer science.
CSC 6509 - Algorithm Analysis and Design
Credits, 3 sem. hrs.
Prerequisite(s): CSC 309 or equivalent. A study of advanced algorithms in computer science. Topics include order notation, bounds analysis, in-depth analysis of sort and search algorithms, NP-completeness, reduction and approximation.
CSC 6522 - Topics in Operating Systems
Credits, 3 sem. hrs.
Prerequisite(s): CSC 5422 or CSC 422 or equivalent. A survey of landmark and recently published papers in the area of operating systems.
CSC 6523 - Topics in Computer Networking
Credits, 3 sem. hrs.
Prerequisite(s): CSC 5423 or CSC 423. A study of computer networking theory and application.
CSC 6530 - Ethics & Law in Information Security
Credits, 3 sem. hrs.
Prerequisite(s): CSC 330 A study of ethical and legal issues of information security. Topics include: security and privacy of consumer financial information, information belonging to children, health information, corporate information security and privacy regulations, government regulations regarding security and privacy of information, intellectual property laws, breach notification laws, governance of information security, risk analysis and incident response and ethical issues regarding these topics.
CSC 6536 - Wireless, Mobile, & Cloud Computing
Credits, 3 sem. hrs.
Prerequisite(s): CSC 435 or 5435 A study of security in the wireless, mobile, and cloud domains. Topics include: security measures for wireless LAN systems, wireless auditing tools and risk assessment, challenges of securing mobile communications, mobile security models, fingerprinting mobile devices, malware threats associated with mobile devices, securing cloud infrastructure, meeting compliance requirements, failure detection, and advanced cloud security issues.
CSC 6540 - Development, Assessment, & Implementation of Information Security
Credits, 3 sem. hrs.
Prerequisite(s): CSC 435 or 5435 A study of the development, assessment, and implementation of information security policies. Topics include: laws, domains of IT responsibility, framework approaches, user domain policies, incident response team policies, compliance, auditing standards and frameworks, responsibilities and liability of IT auditors. The students will develop, assess, and implement an information security policy and perform an IT infrastructure audit.
CSC 6560 - Directed Study
Credits, 3 sem. hrs.
Prerequisite(s): Advisor’s consent.
CSC 6563 - Thesis I
Credits, 3 sem. hrs.
Prerequisite(s): Approval of prospectus and satisfactory progress as determined by the advisor. (Eligible for grade of PR only until CSC 6564 is completed; the permanent grade for CSC 6563 and CSC 6564 will be assigned when the thesis is approved.)
CSC 6564 - Thesis II
Credits, 3 sem. hrs.
Prerequisite(s): Completion of thesis and oral defense as determined by thesis committee. (Eligible for temporary grade PR only until thesis is completed; a permanent grade will be assigned when the thesis is completed.)
CSC 6571 - Quantitative Management
Credits, 3 sem. hrs.
Prerequisite(s): Graduate standing; MAT 205; MAT 207; MIS 326 or instructor’s consent. Application of statistical and quantitative techniques to the decision-making processes.
CSC 6591 - Field Studies
Credits, 1 sem. hr.
CSC 6592 - Field Studies
Credits, 2 sem. hrs.
CSC 6593 - Field Studies
Credits, 3 sem. hrs.