Computer Science Courses (CSC)

CSC 100 The Beauty and Joy of Computing

A broad-based introduction to key concepts and principles of computer science. Exploration of seven big ideas of computing: creativity, abstraction, data, algorithms, programming, the Internet, and impact of computing.

3

CSC 101 Introduction to Computer Concepts

Introduction to computers and computing. Topics cover impact of computers on society, ethical issues, hardware, and software applications.

3

CSC 110 Computational Problem Solving

Using computing to apply mathematical concepts in developing algorithmic solutions to real-world problems, stressing analysis and logical reasoning. A modern programming language will be introduced for examples and assignments.

3

Prerequisites

Non-Computer Science majors only or permission of instructor

CSC 130 Introduction to Computer Science

Programming in a high-level language. Emphasis on problem analysis, problem-solving techniques, and software design principles and techniques.

3

Prerequisites

Acceptable score on the computer science placement test or a grade of at least C (2.0) in MAT 120, MAT 150, MAT 151, or MAT 191

CSC 230 Elementary Data Structures and Algorithms

Advanced syntax of high level language taught in CSC 130. Emphasis onmodularization and abstraction. Big-O analysis of algorithms. Design and use of abstract data types with various implementations.

3

Prerequisites

Grade of at least C (2.0) in CSC 130

CSC 231

CSC 237 Programming Language Laboratory

Syntax and use of a programming language. Language covered announced at preregistration.

1–3

CSC 250 Foundations of Computer Science I

An introduction to the fundamental ideas underlying contemporary computer science with a focus on the computation and construction of objects.

3

Prerequisites

Grade of at least C (2.0) in CSC 130 or permission of instructor

CSC 261 Computer Organization and Assembly Language

Introduction to the organization of the computer through the use of Assembly Language programming. Data representation, parts of the computer system, Assembly Language fundamentals, instruction sets, memory, and floating-point operations.

3

Prerequisites

Grade of at least C (2.0) in CSC 230 and in CSC 250, or permission of instructor

CSC 312 Ethics in Computer Science

Historical and social context of computing, ethical responsibilities of the computing professional, intellectual property rights, and risks and liabilities.

1

Prerequisites

Grade of at least C (2.0) in CSC 230 and in CSC 250, or permission of instructor

CSC 330 Advanced Data Structures

Static and dynamic data structures emphasizing binary trees and graphs. Advanced programming techniques. Advanced sorting and searching algorithms. Hashing techniques. Performance analysis. Methods of developing large applications programs.

3

Prerequisites

Grade of at least C (2.0) in CSC 230 and in CSC 250

CSC 339 Concepts of Programming Languages

Concepts of block-structured, object-oriented, functional, logic, and concurrent programming languages. Comparative study of syntactic and semantic features of these languages and writing programs using them.

3

Prerequisites

Grade of at least C (2.0) in CSC 330

CSC 340 Software Engineering

Practical and theoretical concepts of software engineering.

3

Prerequisites

Grade of at least C (2.0) in CSC 330

CSC 343 Experimental Course: Art and Code

Studio-based exploration of computational art-making. Introduction to programming and visual art through collaborative projects and exposure to the broad variety of software-generated work being done in contemporary art practice.

3

Prerequisites

ART 241 or permission of instructor

Cross Listed Courses

Same as ART 343.

CSC 350 Foundations of Computer Science II

High level concepts in the theoretical foundations of computer science.

3

Prerequisites

Grade of at least C (2.0) in CSC 250, or permission of instructor

CSC 463 Basic Systems Administration Laboratory

Installing operating systems, peripherals, hardware, and software. Backups, recompiling the kernel (loading/unloading modules), providing Web services, and user administration.

1

Corequisites

CSC 562 and CSC 567; or permission of instructor

CSC 464 Intermediate Systems Administration Laboratory

Topics selected from routing, firewall, Primary Domain Controller, Backup Domain Controller, Domain Controller trust, SAMBA, DNS round robin, and PPP connectivity setup.

1

Prerequisites

Grade of at least C (2.0) in CSC 463

CSC 465 Advanced Systems Administration Laboratory

Automated installation, software installation, systems programming, system administration in a large organization. Projects will include departmental or university computer system work.

1

Prerequisites

Grade of at least C (2.0) in CSC 464

CSC 471 Principles of Database Systems

Contemporary database systems. Emphasis on query processing, design, and implementation of applications in relational (SQL) databases. Introduction to other database models such as XML, object-oriented, and deductive.

3

Prerequisites

Grade of at least C (2.0) in CSC 330, or permission of instructor

CSC 490 Senior Project

Application of classroom knowledge and skills in computer science to solve real-world problems and to develop research and development skills.

3

Prerequisites

CSC 340 and senior standing, or permission of instructor

CSC 493 Honors Work in Computer Science

Research in a topic of special interest at the Honors level.

3

Prerequisites

Permission of instructor

CSC 495 Selected Topics in Computer Science

A topic of special interest is studied in depth.

3

Prerequisites

Junior standing and permission of instructor

CSC 521 Computer Graphics

Survey of graphics algorithms, data structures, and techniques.

3

Prerequisites

Grades of at least C (2.0) in CSC 340, CSC 350, and MAT 292, or permission of instructor

CSC 522 Digital Image Processing

Image representation, enhancement, compression, coding, restoration, and wavelet transforms.

3

Prerequisites

Grades of at least C (2.0) in CSC 330, CSC 350, and MAT 292, or permission of instructor. Successful completion of STA 271 or STA 290 recommended.

CSC 523 Numerical Analysis and Computing

Number systems and errors, solutions of non-linear and linear systems, eigenvalue problems, interpolation and approximation, numerical differentiation and integration, solution of differential equations.

3

Prerequisites

Pr. grades of at least C (2.0) in CSC 130, CSC 350, and MAT 293, or permission of instructor

CSC 524 Numerical Analysis and Computing

Continuation of 523 with special topics in numerical analysis, emphasis on applied mathematics.

3

Prerequisites

Grade of at least C (2.0) in CSC 523

CSC 526 Bioinformatics

Introduction to the problems and methods in Bioinformatics. Problem areas include restriction mapping, map assembly, sequencing, DNA arrays, and sequence comparison.

3

Prerequisites

Permission of instructor

CSC 529 Artificial Intelligence

Logical foundations, knowledge representation and reasoning, search, and selected topics such as natural language processing and reasoning under uncertainty.

3

Prerequisites

Grade of at least C (2.0) in CSC 330 and CSC 350 or permission of instructor

CSC 539 Introduction to Compiler Design

Basic techniques of compiler design and implementation: lexical analysis, parsing, code generation. Sizable programming project implementing a compiler for a block-structured language with strong typing.

3

Prerequisites

Grades of at least C (2.0) in CSC 261 and CSC 330 or permission of instructor

CSC 540 Human-Computer Interface Development

Survey of concepts and techniques for human-computer interface development. Topics include user-centered design, user interface programming, and usability evaluation.

3

Prerequisites

Grades of at least C (2.0) in CSC 340 or permission of instructor

CSC 550 Combinatorics on Words

Introduction to the problems and methods in algorithmic combinatorics on words. Problem areas include periodicity, primitivity, and borderedness.

3

Prerequisites

Permission of instructor

CSC 553 Theory of Computation

Finite state automata and regular expressions, context-free grammars, push-down automata and their use in parsing, overview of language translation systems, models for programming language semantics, computability and undecidability.

3

Prerequisites

Grade of at least C (2.0) in CSC 350, or permission of instructor

CSC 555 Algorithm Analysis and Design

Sequential algorithm design and complexity analysis. Dynamic programming. Greedy algorithms. Graph algorithms. Selected advanced topics from NP-completeness; approximation, randomized, parallel, number-theoretic algorithms; Fast Fourier Transform; computational geometry; string matching.

3

Prerequisites

Grade of at least C (2.0) in CSC 330

CSC 561 Principles of Computer Architecture

Hardware and software components of computer systems, their organization and operations. Topics: comparative instruction set architectures, microprogramming, memory management, processor management, I/O, interrupts, and emulation of processors.

3

Prerequisites

Grades of at least C (2.0) in CSC 261, CSC 330, and CSC 350, or permission of instructor

CSC 562 Principles of Operating Systems

Techniques and strategies used in operating system design and implementation: managing processes, input/output, memory, scheduling, file systems, and protection.

3

Prerequisites

Pr. grades of at least C (2.0) in CSC 261 and CSC 340 or permission of instructor

CSC 567 Principles of Computer Networks

Hardware and software components of computer networks, their organization and operations. Topics: open system interconnection; local area networks; TCP/IP internetworking, routing, and packet switching; network programming.

3

Prerequisites

Grades of at least C (2.0) in CSC 261 and CSC 330, or permission of instructor

CSC 568 Principles of Wireless Networks

Digital communications, communication networks, wireless communication technology, wireless networking, wireless LANs, and wireless network programming.

3

Prerequisites

Grades of at least C (2.0) in CSC 330 and CSC 567, or permission of instructor

CSC 580 Cryptography and Security in Computing

Modern development of cryptography and secure encryption protocols. Program security and viruses. Operating system protection. Network and distributed system security. Database security. Administering security.

3

Prerequisites

Grades of at least C (2.0) in CSC 330 and one of CSC 471, CSC 561, CSC 562, or CSC 567, or permission of instructor

CSC 583 Firewall Architecture and Computer Security

Firewall hardware and software technologies. Architectures, protocols and their applications.

3

Prerequisites

Grades of at least C (2.0) in CSC 567 and CSC 580, or permission of instructor

CSC 589 Experimental Course

This number reserved for experimental courses. Refer to the Course Schedule for current offerings.

CSC 593 Directed Study in Computer Science

1–3

CSC 594 Directed Study in Computer Science

1–3

 

Powered by SmartCatalog IQ