64 courses with the subject CSCI, each shown exactly as we captured it from the college's catalog, with every element we hold. Where the wording looks broken, that is our reading of the catalog, not the college's text.
CSCI 169Computers in Society []3
History, moral and social implications of computer technology, problem solving, extensive hands-on microcomputer experience involving software packages (including word processing, database management, spreadsheets).
Web markup languages (e.g. HTML). Problem-solving strategies, top- down design, and computer algorithms. Files and editing. Documentation and testing. Control structures, input and output, and functions, using a web scripting language (e.g. JavaScript). Introduction to Boolean functions and circuits. Social considerations. Lab. Pre- Requisite(s): MATH196 or MATH115 or MATH072 or MATH112 or MATH106
Data abstraction, elementary data structures, library classes, pointers and files. Sorting and searching. Error handling and recovery. Time and space analysis of algorithms. Standard representations (e.g. UML) of classes and objects. Pre-Requisite(s): MATH112 or MATH113 or MATH115 or MATH221 or MATH222, CSCI200 or ECE102 or CNA267 or CYB267 or GENG102 or MATH252 or IS345
CPU architecture, number systems, digital circuit design, assembly language programming, VHDL programming. Lab. Pre-Requisite(s): CSCI200 or CSCI201, MATH113 or MATH115 or MATH211 or MATH221 or MATH222
Recursion and recurrence. Trees, binary trees, 2/3 trees, directed and undirected graphs, searching and sorting, program layering. Sequential file processing, indexed files, and hashing techniques. Pre-Requisite(s): CSCI201, MATH113 or MATH115
Multiprogramming operating systems concepts, system structures, functions, and services. Process scheduling and synchronization. Primary storage management. Secondary storage organization, directory and file management concepts. Access and information security. Performance analysis. Pre-Requisite(s): CSCI301, CSCI220 or ECE320 or SE450
System calls for process creation, destruction, management and synchronization, and file and directory management. Operating systems implementation and installation. Pre-Requisite(s): CSCI310
Design of arithmetic and sequential circuits, instruction sets, and CPU controllers. Memory organization, pipelined processors, and I/O interface. Advanced assembly language programming. Lab. Pre- Requisite(s): CSCI220, MATH271
Survey of several high-level languages, their compilers and inherent data structures. Formal description of high-level languages. Pre- Requisite(s): CSCI301
Problem solving strategies and concepts applied in the context of issues associated with the design and implementation of software systems using a combination of current software packages/environments. Subjects addressed include file processing, data modeling and mapping to storage structures, data base systems, and software design and implementation. Pre-Requisite(s): CSCI301, CSCI220 or ECE220 or SE450 170
Issues of software reliability and risk, private property, gender, minorit multicultural perspectives, privacy, the effect of value systems on computer science. Issues of computer ethics affecting individuals and society. Pre-Requisite(s): CSCI310, CSCI320, CSCI330, CSCI331 or CNA425, CNA433, CNA438 or CYB338, CYB301, CYB433
Oral and written communication in the context of the computing sciences. Intended to be taken in the penultimate semester of the program. Pre-Requisite(s): CSCI331
Writing scripts using shell scripting and R scripting. Shell and R scripti basics and environment, arithmetic, decision making and repetition control structures, arrays, functions. Pre-Requisite(s): CSCI201
Formal methods for specification, validation and verification in software development life cycle. Specification techniques. Formal methods integration with programming languages. Application of formal methods in requirements and safety analysis, testing, software reuse. Lab. Pre- Requisite(s): CSCI330, MATH271
Principles of database systems, theory of relational databases, design techniques, concurrency control and recovery, object-oriented systems. Pre-Requisite(s): CSCI331 or CSCI301, SE240
Computer network architecture. The OSI seven-layer reference model and communication protocols. Network services. Projects for current applications. Pre-Requisite(s): CSCI311
Networking, security, and performance issues on a modern platform, graph architectures and NOSQL techniques. Develop an NOSQL application. Integrated Lab. Pre-Requisite(s): CSCI310, CSCI331
Cryptography, network security and system security. Cryptographic methods, key distribution, and protocols for authenticated and confidential communications. Network and system security. Pre- y, Requisite(s): CSCI310, MATH271, MATH312
Techniques for identifying and specifying objects, object classes and operations in designing software. Development of a major project using object-oriented analysis, design and programming techniques. Pre- Requisite(s): CSCI331 or CSCI301, SE240
CSCI 440Introduction to Artificial Intelligence []3
Heuristic versus deterministic methods, game playing programs, theorem proving programs, decision making programs. Pre-Requisite(s): MATH271, CSCI330 or CSCI331 ng
Theory and applications of expert systems. Knowledge acquisition and representation. Inference techniques. An expert system language. Design and evolution of expert systems. Pre-Requisite(s): CSCI301
Population-based search heuristics inspired by biological evolution. Representations and operators. Specifying parameter values. Hybridization with local search and other search strategies. Constraint handling. Theory. Pre-Requisite(s): CSCI301, MATH271
Credit for off-campus professional experience with industry partners, non-profit organizations or government agencies. Pre-Requisite(s): CSCI301, CSCI310 or CSCI320, CSCI330 or CSCI331
CSCI 450Computer Graphics Applications and Algorithms []3
Technology and techniques for generating graphics, transforms for viewing and manipulation of objects, perspective projection, color, light, and texture models. Animation and specialized graphics algorithms. Integrated Lab. Pre-Requisite(s): CSCI301, MATH327 or MATH312
Experimental, temporary or trial course for groups of students all engaged in the same topic. Topic varies from semester to semester or section to section. A specific content offering may be offered under a topics course number up to three times, after which departments must file for a permanent course number.
Formal methods for specification, validation and verification in software development life cycle. Specification techniques. Formal methods integration with programming languages. Application of formal methods in requirements and safety analysis, testing, software reuse.
Networking, security, and performance issues on a modern platform, graph architectures and NOSQL techniques. Develop an NOSQL application. Integrated Lab.
Techniques for identifying and specifying objects, object classes and operations in designing software. Development of a major project using object-oriented analysis, design and programming techniques.
Theory and applications of expert systems. Knowledge acquisition and representation. Inference techniques. An expert systems language. Design and evolution of expert systems.
Population-based search heuristics inspired by biological evolution. Representations and operators. Specifying parameter values. Hybridization with local search and other search strategies. Constraint handling. Theory.
Algorithms, data structures and techniques for generating graphics. Graphics hardware, display primitives, geometric transformations, perspective projection, clipping and user interaction.
Experimental, temporary or trial course for groups of students all engaged in the same topic. Topic varies from semester to semester or section to section. A specific content offering may be offered under a topics course number up to three times, after which departments must file for a permanent course number. According to Graduate School policy, there is a limit of 9 credits which applies toward a specific program.
CSCI 600Graduate Research or Scholarly Activity []1.00-6.00
Credit for independent research by a single student arranged and supervised by a faculty member. Not intended for culminating project research such as thesis or starred paper.
Credit for off-campus professional experience with industry partners, non-profit organizations or government agencies. Can serve as a graduate culminating experience in conjunction with a portfolio demonstrating mastery of associated learning outcomes.
CSCI 681Technical Presentation in Computer Science []1
Oral presentation with appropriate visual aids on current topics in computer science for a select audience. One semester of graduate coursework required and permission of instructor.
Allows continuous enrollment for Master's students who have completed all required coursework, but are still working on a culminating project. Can be used in final term to meet Graduate Enrollment policy requirement.
Experimental, temporary or trial course for groups of students all engaged in the same topic. Topic varies from semester to semester or section to section. A specific content offering may be offered under a topics course number up to three times, after which departments must file for a permanent course number. According to Graduate School policy, there is a limit of 9 credits which applies toward a specific program.
A graduate only course that is used for completion of the culminating project of a Master's Degree, including Master's Thesis, Starred Paper and Creative Work. Six credits total are required for graduation for Thesis and Creative Work. Three credits are normally required for Starred Paper.