Department of Computer Science
| Course ID | Course Description |
|---|---|
CSC 150 |
Computer Concepts and Applications (3,0,3)Survey of computer technology and computer science; basic practice with contemporary office applications; design of simple web pages; topics in computer ethics. PREREQ: C or better in MAH 099 or placement. Note: Effective Fall 2008 this course has been replaced by INF 101. INF 101 |
CSC 270 |
Mathematics Software Programming (3,0,3)Programming and problem solving with a high-level mathematical software package; variables, control, modularity, processing of lists and vectors; recursion; visualization of functions; basic numerical and symbolic computation; simulation. PREREQ: C or better in MAT 121. MAT 121 |
CSC 299 |
Directed Readings/Independent Study (1-3 semester hours)PREREQ: consent of instructor. |
CSC 301 |
Web Programming (3,0,3)Design of interactive web applications and web sites containing dynamic content; software design for web-based clientserver applications and database interaction; client-side and server-side techniques; language specific design issues. PREREQ: C or better in INF 260, and INF 286. INF 260, INF 286 |
CSC 325 |
Introduction to Neural Networks and A.I. (3,0,3)Survey of concepts in artificial neural networks for associative memory and learning; software simulations applied to sample problems; logic-based artificial intelligence; approximate reasoning; search concepts and problems, the limits of machine intelligence. PREREQ: INF 260 or BIO 370 or PSY 311, or consent of instructor. BIO 370, INF 260, PSY 311 |
CSC 360 |
Object-Oriented Programming II (3,0,3)Intermediate object-oriented programming concepts and practice: inheritance, basic graphical user interface elements; introduction to recursion; implementation of linked lists; use of basic container types. PREREQ: C or better in INF 260 and MAT 119. INF 260, MAT 119 |
CSC 362 |
Computer Systems (3,0,3)ANSI C, pointers, pointer arithmetic; dynamic memory allocation; introduction to instruction sets, registers, addressing modes and assembly language; binary representations and bit manipulations; computer organization concepts. PREREQ: C or better in CSC 360. CSC 360 |
CSC 364 |
Data Structures and Algorithms (3,0,3)Analysis and efficient implementation of container types such as stacks, queues, hash tables, search trees, and graphs; sorting algorithms. PREREQ: C or better in CSC 360. CSC 360 |
CSC 375 |
Intermediate Topics in Programming (1-3, 0, 1-3)A project-oriented introduction to a contemporary programming language or development platform. PREREQ: varies with topic. |
CSC 394 |
Intermediate Topics: Computer Science (3,0,3)Various topics in computer science. PREREQ: varies with topic (see Schedule of Classes) CSC 399 Intermediate Directed Readings/Independent Study (1-3 sem. hrs.) PREREQ: consent of instructor. |
CSC 399 |
Intermediate Directed Readings/Independent Study (1-3 sem.)PREREQ: consent of instructor |
CSC 402 |
Advanced Programming Methods (3,0,3)High-performance OO and generic programming in C++; concurrent and distributed programming; STL; multi-paradigm design patterns; extensive practice with sophisticated programming projects. PREREQ: C or better in CSC 362 and 364. CSC 362, CSC 364 |
CSC 407 |
Concepts of Programming Languages (3,0,3)History of high-level languages; grammars and the compilation process; axiomatic semantics; language design and implementation issues; procedural, object-oriented, functional, and logic programming paradigms; case studies in important contemporary languages. PREREQ: C or better in CSC 362. CSC 362 |
CSC 410 |
Compiler Construction (3,0,3)Lexical analysis; parsing; code generation; compiler project. PREREQ: C or better in CSC 402 and MAT 385. CSC 402, MAT 385 |
CSC 425 |
Artificial Intelligence (3,0,3)Concepts and techniques of artificial intelligence; heuristic search, expert systems, AI languages, natural language processing, and elementary neural networks. PREREQ: C or better in CSC 364. CSC 364 |
CSC 433 |
Computer Networks (3,0,3)Direct link networks, packet switching networks, internet working (IP), end-to-end protocols (TCP), Windows socket programming. PREREQ: C or better in CSC 362 and INF 284. CSC 362, INF 284 |
CSC 440 |
Software Engineering (3,1,4)Techniques in computer software specification, design, implementation, testing, documentation, and maintenance; development of a large-scale software project by students working in teams. PREREQ: C or better in CSC 402 and senior standing. CSC 402 |
CSC 450 |
Database Management Systems (3,0,3)Design and implementation of relational database applications; implementation of various parts of a relational database management system; Structured Query Language, entity-relationship model, normal forms, concurrency control, crash recovery, indexing, evaluation of relational operators, relational query optimization. PREREQ: C or better in CSC 360 and INF 282. CSC 360, INF 282 |
CSC 460 |
Operating Systems (3,0,3)Internal structures and algorithms for file systems, I/O, memory management and process scheduling; examples drawn from contemporary operating systems such as UNIX and Windows NT. PREREQ: C or better in CSC 362 and CSC 364. CSC 362, CSC 364 |
CSC 462 |
Computer Architecture (3,0,3)Implementation of control unit and arithmetic-logic unit, microprocessor organization and design, main memory and cache organizations, I/O subsystem; RISC vs. CISC instruction sets, pipelining, parallel processing; mechanisms for evaluating computer architectures and microprocessor performance. PREREQ: C or better in CSC 362. CSC 362 |
CSC 464 |
Design and Analysis of Algorithms (3,0,3)Proofs of time and space bounds on important algorithms; advanced algorithms on graphs, sequences and sets; divide-and-conquer and dynamic programming; randomized algorithms; parallel algorithms. PREREQ: C or better in CSC 364 and MAT 385. CSC 364, MAT 385 |
CSC 480 |
Computer Graphics (3,0,3)Basic concepts of two-and three-dimensional graphics including incremental methods, geometric transformations, windowing and clipping, hidden line and surface algorithms, and animations. PREREQ: C or better in CSC 364 and MAT 234. CSC 364, MAT 234 |
CSC 482 |
Computer Security (3,0,3)Theory and algorithms of computer security, including security policies, access control, secure programming, identity and authentication, information flow, and information assurance techniques. PREREQ: C or better in CSC 360. CSC 360 |
CSC 483 |
Cryptology (3,0,3)Cryptology of classical ciphers, mathematical foundations of cryptology, Hill cipher, DES and AES, cryptography of public key cryptosystems. PREREQ: MAT 234 or CSC 362 or CSC 364. CSC 362, CSC 364, MAT 234 |
CSC 485 |
Theory of Computation (3,0,3)Regular and context-free grammars; Turing machines; recursive and recursively enumerable languages; uncomputability; the Chomsky hierarchy; complexity classes such as P, NP, and NP-complete. PREREQ: C or better in MAT 385. MAT 385 |
CSC 493 |
Research Seminar in Computer Science (1-3, 0, 1-3)Examination and presentation of contemporary research work in computer science. PREREQ: C or better in MAT 385 and CSC 364, and consent of instructor. CSC 364, MAT 385 |
CSC 494 |
Advanced Topics: Computer Science (3,0,3)Various advanced topics in computer science. PREREQ: varies with topic (see Schedule of Classes). |
CSC 499 |
Advanced Directed Readings/Independent Study (1-3 semester hoursPREREQ: consent of instructor. |
CSC 501 |
Intermediate Programming Workshop (3,0,3)Intensive review of programming and data structures from an object-oriented perspective using the C++ language. Intended for students whose computer programming skills need refreshing or updating. PREREQ: graduate standing; background in computer programming and data structures. |
CSC 502 |
Advanced Programming Methods (3,0,3)High-performance OO and generic programming in C++; concurrent and distributed programming; STL; multi-paradigm design patterns; extensive practice with sophisticated programming projects. PREREQ: Regular admission to MSCS program. |
CSC 507 |
Concepts of Programming Languages (3,0,3)History of high-level languages; grammars and the compilation process; axiomatic semantics; language design and implementation issues; procedural, object-oriented, functional, and logic programming paradigms; case studies in important contemporary languages. PREREQ: Regular admission to MSCS program. |
CSC 510 |
Compiler Construction (3,0,3)Lexical analysis; parsing; code generation; compiler project. PREREQ: Regular admission to MSCS program. |
CSC 525 |
Artificial Intelligence (3,0,3)Concepts and techniques of artificial intelligence; heuristic search, expert systems, AI languages, natural language processing, and elementary neural networks. PREREQ: Regular admission to MSCS program. |
CSC 533 |
Computer Networks (3,0,3)Direct link networks, packet switching networks, internet working (IP), end-to-end protocols (TCP), Windows socket programming. PREREQ: Regular admission to MSCS program. |
CSC 540 |
Software Engineering (3,1,4)Techniques in computer software specification, design, implementation, testing, documentation, and maintenance; development of large-scale project by students working in teams. PREREQ: Regular admission to MSCS program and CSC 502. CSC 502 |
CSC 550 |
Database Management Systems (3,0,3)Database design, normal forms, concurrent processing, recovery, security, relational model, Structured Query Language, hierarchical and network models. PREREQ: Regular admission to MSCS program. |
CSC 560 |
Operating Systems (3,0,3)Internal structures and algorithms for file systems, I/O memory management and process scheduling; examples drawn from contemporary operating systems such as Unix and Windows. PREREQ: Regular admission to MSCS program. |
CSC 562 |
Computer Architecture (3,0,3)Implementation of control unit and arithmetic-logic unit, microprocessor organization and design, main memory and cache organizations, I/O subsystem; RISC vs. CISC instruction sets, pipelining, parallel processing; mechanisms for evaluating computer architectures and microprocessor performance. PREREQ: Regular admission to MSCS program. |
CSC 564 |
Design and Analysis of Algorithms (3,0,3)Proofs of time and space bounds on important algorithms; advanced algorithms on graphs, sequences and sets; divide-and-conquer and dynamic programming; randomized algorithms; parallel algorithms. PREREQ: Regular admission to MSCS program. |
CSC 580 |
Computer Graphics (3,0,3)Basic concepts of two- and three-dimensional graphics including incremental methods, geometric transformations, windowing and clipping, hidden line and surface algorithms, and animations. PREREQ: Regular admission to MSCS program and MAT 234 or equivalent. MAT 234 |
CSC 582 |
Computer Security (3,0,3)Theory and algorithms of computer security, including security policies, access control, secure programming, identity and authentication, information flow, and information assurance techniques. PREREQ: Regular admission to MSCS program. |
CSC 584 |
Cryptography (3,0,3)Cryptology of classical ciphers, DES and AES, public key cryptosystems, authentication and cryptographic hash functions. PREREQ: consent of instructor. |
CSC 585 |
Theory of Computation (3,0,3)Regular and context-free grammars; Turing machines; recursive and recursively enumerable languages; uncomputability; the Chomsky hierarchy; complexity classes such as P, NP, and NP-complete. PREREQ: Regular admission to MSCS program. |
CSC 593 |
Research Seminar: Computer Science (1-3,0,1-3)Examination and presentation of contemporary research work in computer science. PREREQ: Regular admission into MSCS program. |
CSC 594 |
Intermediate Graduate Topics: Computer Science (3,0,3)Various advanced topics. PREREQ: Regular admission to MSCS program and consent of instructor. |
CSC 599 |
Intermediate Independent Study (1-3,0, 1-3)PREREQ: Regular admission to MSCS Program, consent of instructor. |
CSC 601 |
Advanced Programming Workshop (3,0,3)Practitioners workshop on creative approaches to challenging, realistic programming problems; advanced object-oriented and generic design patterns; use of appropriate tools and critical evaluation of solutions. PREREQ: CSC 502. CSC 502 |
CSC 625 |
Advanced Artificial Intelligence (3,0,3)In-depth study of current topics in artificial intelligence such as machine learning, pattern recognition, intelligent agents, data mining, and natural language understanding. Specific topics may vary by semester. PREREQ: CSC 525. CSC 525 |
CSC 633 |
Advanced Computer Networks (3,0,3)Content distribution, routers and queue management, multicast routing, mobility and the network layer, wireless links, multimedia networking. PREREQ: CSC 502, CSC 533, and CSC 560. CSC 502, CSC 533, CSC 560 |
CSC 640 |
Advanced Software Engineering (3,0,3)Effective software development methods: software design, quality management, improving the software process. PREREQ: CSC 540. CSC 540 |
CSC 645 |
Software Interface Design and Human Factors (3,0,3)Graphical user interfaces for computer applications; usability engineering research and practice; software tools; design and implementation projects. PREREQ: CSC 540. CSC 540 |
CSC 650 |
Advanced Database Systems (3,0,3)Continuation of CSC 550; advanced database programming and data modeling; object- based systems; parallel systems; data warehousing and other advanced topics. PREREQ: CSC 502 and CSC 550 or equivalent. CSC 502, CSC 550 |
CSC 660 |
Advanced Operating Systems (3,0,3)Advanced operating system capabilities such as concurrency, networking, distributed file systems, clustering, and multiprocessing; case studies in design and internal organization of contemporary operating systems. PREREQ: CSC 560 and CSC 502. CSC 502, CSC 560 |
CSC 666 |
Secure Software Engineering (3,0,3)Secure software development processes, threat modeling, security requirements and policies, secure architecture and design, secure coding principles, verification and validation of software security. PREREQ: CSC 540 and CSC 582. CSC 540, CSC 582 |
CSC 670 |
Social Implications of Computing (3, 0, 3)Social, ethical, and legal issues arising in development and dissemination of computer software and its associated technologies; critical thinking and written expression. Assumes experience in professional software development. PREREQ: 6 hours of graduate level coursework in the MSCS or MBI program, or consent of instructor. |
CSC 680 |
Advanced Computer Graphics (3, 0, 3)Representing curves and surfaces; using color, illumination, shading; visible-surface determination; advanced modeling techniques; collision detection and intersection geometry; virtual physics; real-time rendering, scene graph architectures, and high-performance game engine design. PREREQ: CSC 480 and CSC 502. CSC 480, CSC 502 |
CSC 682 |
Advanced Computer Security (3,0,3)Advanced topics in computer security including selections from the following areas: access control, cryptology of modern ciphers, critical infrastructure protection, information warfare, intrusion detection, language-based security, security protocols, software security, steganography, and usable security. PREREQ: CSC 582. CSC 582 |
CSC 685 |
Logic and Computation (3,0,3)Introduction to formal reasoning applied to computer science; propositional and predicate logic; algebraic specification of abstract data types; program correctness; survey of computability theory. PREREQ: CSC 485 and CSC 601. CSC 485, CSC 601 |
CSC 691 |
Thesis Direction (1-6,0,1-6)Guided thesis direction for students electing the thesis option for the MS in Computer Science. PREREQ: Consent of MSCS program director. |
CSC 694 |
Advanced Graduate Topics in Computer Science (3,0,3)Various topics. May be repeated for credit when topics vary. PREREQ: regular admission to MSCS program and consent of instructor. |
CSC 699 |
Directed Readings/Independent Study (1-3 semester hours)PREREQ: consent of instructor |
In addition to Computer Science courses, students in this major take a selection of Informatics courses.
| Course ID | Course Description |
|---|---|
INF 101 |
Computer Literacy and Informatics (3,0,3)Understanding the basic concepts of informatics in a context including computer technology; examination of hardware and software; impact computers have on society including employment, privacy, ethics, and security; working with information as a resource. The course includes computer laboratory exercise in Office (Word, Excel, PowerPoint, Access) and Internet technology applications. |
INF 101H |
Honors Computer Literacy and Informatics (3,0,3)Application of computer hardware, software, and computing techniques to common business problems and activities; microcomputers and business productivity packages including word processors, spreadsheets, databases, and other systems and applications software; extensive hands- on work in a graphical user environment. |
INF 110 |
Business Programming (3,0,3)Strategies, techniques, and tools for professional programming in a business environment; problem definition, software design, program design, and system implementation; development of systems of programs to implement common business applications. |
INF 120 |
Elementary Programming (3,0,3)An elementary introduction to programming for those with no previous programming experience. Emphasis on understanding how to read and write basic procedural programs, and on understanding the concepts of algorithm and execution. PREREQ: C or better in MAH 099 or placement. MAH 099 |
INF 186 |
Elementary Web Design (3,0,3)An introduction to web design and development for majors outside the informatics fields. Web page creation and HTML; site organization and best practices; introduction to cascading style sheets. No credit after INF 286. |
INF 194 |
Topics: Informatics (3,0,3)Various topics in Informatics. PREREQ: varies with topic (see Schedule of Classes). |
INF 260 |
Object-Oriented Programming I (3,0,3)Elementary object-oriented programming concepts and practice: types, decisions, loops, methods, arrays, classes; design and problem-solving. An intensive introduction intended for students with programming experience. PREREQ: C or better in MAT 109 or placement; C or better in INF 110 or INF 120 or placement. INF 110, INF 120 |
INF 260L |
Object-Oriented Programming Laboratory (0,1.5,1)Laboratory to accompany INF 260 in which students gain hands-on experience in programming and using programming tools such as debuggers. COREQ: INF 260. IN F260 |
INF 282 |
Introduction to Databases (3,0,3)Core concepts for the design, creation, and manipulation of relational databases. Analysis of data requirements, conceptual modeling, definition of the relational model, relational database design and normalization, and database implementation; manipulation of relational databases using relational algebra with SQL. PREREQ: C or better in MAT 109 (or higher). MAT 109 |
INF 284 |
Intro to Networks and Data Communication (3,0,3)Introduction to computer networking; data communications; data transmission, data encoding, data link control; communications network techniques; network protocols; wireless networking; network server configuration; and planning and deploying a local area network. PREREQ: C or better in MAT 109 (or higher) and INF 110, INF 120 or CIT 140. CIT 140, INF 110, INF 120 |
INF 286 |
Introduction to Web Development (3,0,3)An introduction to web design and development for majors in the informatics fields. Web page creation and HTML; site organization and best practices; e-business planning, models and strategies; overview of SML and CSS; introduction to client-side and server-side programming. PREREQ: C or better in MAT 109 (or higher) and INF 110 or INF 120. INF 110, INF 120 |
INF 294 |
Topics: Informatics (3,0,3)Various topics in Informatics. PREREQ: varies with topic (see Schedule of Classes.) |
INF 345 |
Wireless Commerce Technology (3,0,3)This class covers content such as the basics of wireless technology, standards, and devices, and the development of environments for creating mobile and wireless applications. The class will also discuss the opportunities for wireless technology in business and consumer services, advanced messaging (SMS and IM), wireless CRM, security and privacy issues, and business models. PREREQ: Junior standing or approval of instructor. |
INF 394 |
Intermediate Topics: Informatics (3,0,3)Various topics in Informatics. PREREQ: varies with topic (see Schedule of Classes.) |
INF 444 |
Social Informatics (3,0,3)Examination of the roles of individuals, organizations, and governments relative to changes brought by new communication and computer technologies to the home, workplace and society. Topics include free speech, privacy, intellectual property, sovereignty, globalization, and technology and the individual. These topics are examined from multiple theoretical perspectives. |
Contact Dorothy Wright for more information. Phone: (859) 572-5333 • E-Mail