Computer Science CSC 108 Intro to Computer Science 3 cr

advertisement
UNIVERSITY OF SOUTH ALABAMA
COMPUTER SCIENCE 1
Computer Science
CSC 108 Intro to Computer Science
3 cr
CSC 231 Intro Data Structures Algs
4 cr
An introduction to the major areas of computer science,
such as computing systems, the binary number system,
data representation, hardware, programming languages,
operating systems, applications, and communications.
Historical, societal, ethical, and current issues associated
with computer science are discussed as students explore
academic, research, and career opportunities in the field of
computer science.
The course will cover techniques to organize and access
collections of data, definition, implementation, and use of
Classes and Abstract Data Types(ADT). Topics include:
stacks, queues, heaps, search trees, recursion, algorithmic
complexity, advance searching and sorting algorithms, and
graphs and their application to problems.
Pre-requisite: CSC 120 Minimum Grade of C or CIS 210
Minimum Grade of C
CSC 120 Prob Solv and Prog Concepts
CSC 311 Networking and Communications
4 cr
An introduction to the design of algorithms and their
implementation in a high-level programming language.
Topics include: problem solving strategies, programming
concepts, programming environment, control structures,
methods, arrays, searching, sorting, object-oriented
programming, and file input/output.
Pre-requisite: (MA 113 Minimum Grade of C or MA 172
Minimum Grade of C) or (MA 115 Minimum Grade of C or
MA 121 Minimum Grade of C) or (MA 125 Minimum Grade
of C or MA 132 Minimum Grade of C) or ACT Math 27 or
MyMathTest 090
CSC 121 Prob Solv and Prog Concepts II
4 cr
Continuation of CSC 120. Topics include: object-oriented
programming concepts, abstract data types, graphical
user interfaces and event-driven programming, exception
handling, text and binary file I/O, and an overview of
dynamic data structures.
Pre-requisite: CSC 120 Minimum Grade of C or CIS 120
Minimum Grade of C
CSC 190 CSC Special Topics -
1 cr
Selected topics in computer science. Prerequisite:
Permission of the CSC coordinator.
CSC 228 Digital Logic Computer Arch
3 cr
Topics include: Boolean algebra, minimization techniques,
combinatorial and sequential circuit analysis, memory
organization, microprocessor concepts, and CPU
architecture. Prerequisite: a 'C' or better in CSC 120.
Pre-requisite: CSC 120 Minimum Grade of C
CSC 230 Data Structures
3 cr
Extension of elementary data structures as covered in CSC
121, techniques to organize and access collections of data,
definition, implementation, and use of Classes and Abstract
Data Types (ADT). Topics include: recursion, search trees,
algorithmic complexity, advancing searching and sorting
algorithms, and graphs and their application to problems.
Pre-requisite: (CIS 211 Minimum Grade of C or CSC 121
Minimum Grade of C) and MA 267 Minimum Grade of C
southalabama.edu/bulletin
3 cr
An introduction to computer networks. Topics include:
data transmission, network architectures, file compression
algorithms, communication devices and protocols, network
routing and flow algorithms. Prerequisite: a 'C' in CSC 230
or it may be taken concurrently.
Pre-requisite: CSC 231 Minimum Grade of C or CSC 230
Minimum Grade of C
CSC 320 Computer Org-Architect
3 cr
An introduction to computer organization using a top down
approach from system component to the register level,
internal representation of data, general assembly and linking
concepts, addressing modes, and introduction to a specific
processor, its architecture and operating system.
Pre-requisite: CSC 228 Minimum Grade of C and CSC 231
Minimum Grade of C
CSC 322 Operating Systems
3 cr
This course covers the development of operating systems
that control computing systems. Topics include: file systems,
process management, scheduling, memory management
(real and virtual), security, and concurrency. Case studies of
operating systems are examined.
Pre-requisite: CSC 231 Minimum Grade of C
CSC 324 Database Concepts
3 cr
Introduction to database desiqn and implementation.
Aspects of data modeling, database design theory,
storage, indexing, and database application development.
Entity-relationship model, relational data model, schema
refinement, normal forms, file organizations, index
structures, and embedded SQL application development.
Pre-requisite: CSC 231 Minimum Grade of C
CSC 331 Software Engineering Prin - W
3 cr
Models, techniques, and tools used in project management.
Topics include: software development process, task
scheduling, estimation and progress measurement.
Coordination of development teams. Standards, testing
plans, configuration management, metrics and use of CASE
tools, system delivery and maintenance strategies.
Pre-requisite: ( (CSC 231 Minimum Grade of C or CSC 230
Minimum Grade of C or CIS 230 Minimum Grade of C) ) and
CA 275 Minimum Grade of C
2015-2016 GRADUATE/UNDERGRADUATE BULLETIN
UNIVERSITY OF SOUTH ALABAMA
CSC 332 Adv Data Structures and Algs
COMPUTER SCIENCE 2
3 cr
CSC 413 Computer Graphics
3 cr
This course teaches techniques for the design and analysis
of efficient algorithms, emphasizing methods useful in
practice. Topics to be covered include: mathematical
foundations; analytic, empirical, and qualitative evaluation
techniques; hash tables; graph algorithms; balanced trees;
priority queues; dynamic programming; and divide-andconquer.
Pre-requisite: CSC 231 and MA 267
An in-depth study of hardware and software techniques
used in computer graphics. Study of display and entry
devices, including refresh, storage, and raster scan topics.
Software techniques will include display files, windowing,
clipping, two and three-dimensional transformations, and
hidden-surface removal.
Pre-requisite: (CSC 231 Minimum Grade of C) and (MA 237
Minimum Grade of C or MA 227 Minimum Grade of C)
CSC 333 Prog Language Theory
CSC 414 Modeling and Simulation
3 cr
Formal examination of programming languages. Formal
Language concepts including syntax and basic grammars
are studied. Language features such as data types and
structures, control structures, and data flow are examined.
The run-time environment and the process of interpretation/
compilation are covered. Interpreter and compilation
techniques are introduced.
Pre-requisite: CSC 231 Minimum Grade of C or CSC 230
Minimum Grade of C
CSC 340 Secure Software Engineering
3 cr
The objective of this course is to enhance the security of
software by introducing sound security principles that should
be incorporated into the software development process.
Students will learn a risk management framework and best
practices for software secuirty including code reviews,
architectural risk analysis, penetration testing, risk-based
security test, abuse cases, security requirements, and
security operations.Students will also learn common flaws
that lead to exploitation and be able to identify and mitigate
such errors in practice. Out of class labs and exercises
reinforce concepts presented in class. Prerequisite: CSC
331.
Pre-requisite: (CSC 331 Minimum Grade of C or CIS 231
Minimum Grade of C)
CSC 410 Compiler Design-Construction
3 cr
Lexical analysis, syntactic analysis, intermediate code
generation, object code generation, optimization, memory
use, generators for scanners and parsers.
Pre-requisite: CSC 332 Minimum Grade of C and CSC 333
Minimum Grade of C
CSC 411 Comm - Network Analysis
3 cr
Data communications and computer networks. An in-depth
treatment of network architectures and protocols for both
WANS and LANS. Topics include: network routing and flow
algorithms, internet working, and distributed systems.
Pre-requisite: CSC 311 Minimum Grade of C and (CSC 322
Minimum Grade of C or CIS 322 Minimum Grade of C)
CSC 412 Real-Time Software Systems
3 cr
Design and implementation of software for real-time
computer systems. Survey of typical real-time systems;
techniques for code-conversion, error checking, and
transmission monitoring.
Pre-requisite: CSC 311 Minimum Grade of C and CSC 322
Minimum Grade of C and CSC 332 Minimum Grade of C
southalabama.edu/bulletin
3 cr
Analytic and simulation models developed using
deterministic and stochastic techniques. Topics include:
event-driven simulations, queuing theory, Markov
processes, and dynamical systems. "Real World" project
required.
Pre-requisite: (CSC 230 Minimum Grade of C or CIS 230
Minimum Grade of C) and (MA 126 Minimum Grade of C or
MA 233 Minimum Grade of C) and (ST 310 Minimum Grade
of C or ST 275 Minimum Grade of C) or ST 315 Minimum
Grade of C or ST 320 Minimum Grade of C
CSC 415 Numerical Analysis
3 cr
Mathematical preliminaries, solving linear systems
numerical solution of ordinary and partial differential
equations.
Pre-requisite: (CSC 230 Minimum Grade of C or CIS 230
Minimum Grade of C) and (MA 126 Minimum Grade of C or
MA 233 Minimum Grade of C)
CSC 416 AI Theory and Programming
3 cr
Introduction to basic concepts, implementation techniques,
and philosophies of artificial intelligence and intelligent
systems. Introduction to expert systems, fuzzy logic
systems, neural networks, and techniques for artificial
intelligence programming. The fundamentals of an
AI programming language (LISP or PROLOG) will be
presented. The language will then be used to solve
problems in typical AI applications.
Pre-requisite: CSC 332 Minimum Grade of C or CSC 230
Minimum Grade of C or CIS 230 Minimum Grade of C
CSC 417 Computer Game Development
3 cr
Introduction to computer game development, including
a variety of related topics. The course will be driven by
research/technical paper discussions, student presentations
and projects. The direction of the course will be guided to
some extent by student interest.
Pre-requisite: CSC 331 Minimum Grade of C or EE 368
Minimum Grade of C
CSC 418 Adv Game & Simulation Dev
3 cr
This course will cover advanceg topics related to the
development of game and simulation software. Topics
include game physics, collision techniques, game
mechanics, level design, artificial intelligence, and security.
Students will design and implement a game or simulation
program that includes elements of artificial intelligence.
Pre-requisite: CSC 417 Minimum Grade of C and CSC 413
Minimum Grade of C
2015-2016 GRADUATE/UNDERGRADUATE BULLETIN
UNIVERSITY OF SOUTH ALABAMA
CSC 428 Introduction to Bioinformatics
COMPUTER SCIENCE 3
3 cr
Students in this course will study algorithms pertaining to
bioinformatics (e.g. sequence alignment, biological database
search, and phylogeny reconstruction); gain hands-on
experience using bioinformatics tools; and understand the
interaction of computer science and modern biology within
the context of data-driven knowledge discovery.
Pre-requisite: CSC 230 Minimum Grade of C
CSC 432 Perf Eval of Algorithms
3 cr
Classification and analysis of algorithms including recursive,
divide and conquer, greedy, etc. Data structures and
algorithms design and performance. Run time and main
storage complexity analysis. Performance evaluation
measurements will be discussed and popular benchmarking
techniques reviewed. P, NP, and NP complete complexities
will be discussed.
Pre-requisite: CSC 230 Minimum Grade of C and MA 126
Minimum Grade of C
CSC 434 Form Lang - Automata Theory
3 cr
Mathematical preliminaries, languages, context-free
grammars, parsing, normal forms, finite automata, regular
languages, pushdown automata, Turing machines.
Pre-requisite: (CSC 333 Minimum Grade of C or CSC 340
Minimum Grade of C)
CSC 440 Secure Software Engineering
3 cr
The objective of this course is to enhance the security of
software by introducing sound security principles that should
be incorporated into the software development process.
Students will learn a risk management framework and best
practices for software security including code reviews,
architectural risk analysis, penetration testing, risk-based
security test, abuse cases, security requirements, and
security operations. Students will also learn common flaws
that lead to exploitation and be able to identify and mitigate
such errors in practice. Out of class labs and exercises
reinforce concepts presented in class.
Pre-requisite: CSC 331 Minimum Grade of C
CSC 511 Comm-Network Analysis
3 cr
Data communications and computer networks. An in-depth
treatment of network architectures and protocols for both
WANs and LANs. Topics include: network routing and flow
algorithms, internet working, and distributed systems.
Pre-requisite: Computer Science Graduate 030
CSC 512 Real -Time Software Systems
3 cr
Design and implementation of software for real-time
computer systems. Survey of typical real time systems;
techniques for code conversion, error checking, and
transmission monitoring.
Pre-requisite: Computer Science Graduate 030
CSC 513 Computer Graphics
3 cr
An in-depth study of hardware and software techniques
used in computer graphics. Study of display and entry
devices, including refresh, storage, and raster scan topics.
Software techniques will include display files, windowing,
clipping, two and three-dimensional transformation, and
hidden-surface removal.
Pre-requisite: Computer Science Graduate 030
CSC 514 Modeling and Simulation
3 cr
Analytic and simulation models developed using
deterministic and stochastic techniques. Topics include:
event-driven simulations, queueing theory, Markov
processes, and dynamical systems. "Real World" project
required.
Pre-requisite: Computer Science Graduate 030
CSC 515 Numerical Analysis
3 cr
Mathematical preliminaries, solving linear systems,
numerical solution of ordinary and partial differential
equations.
Pre-requisite: Computer Science Graduate 030
CSC 516 AI Theory and Programming
3 cr
This course focuses on the design, development and
usage of data warehouses. Course content includes
dimensional modeling, ETL processes, physical design, and
analytical processing. New research areas related to data
warehousing technology will also be discussed.
Pre-requisite: CIS 324 Minimum Grade of C
Introduction to basic concepts, implementation techniques,
and philosophies of artificial intelligence and intelligent
systems. Introduction to expert systems, fuzzy logic
systems, neural networks, and techniques for artificial
intelligence programming. The fundamentals of an
AI programming language (LISP or PROLOG) will be
presented. The language will then be used to solve
problems in typical AI applications. Prerequisite: Graduate
Professional Component Standing.
Pre-requisite: Computer Science Graduate 030
CSC 490 CSC Sp Top -
CSC 517 Computer Game Development
CSC 457 Data Warehousing
3 cr
3 cr
Advanced selected topics in computer science. Prerequisite:
Permission of the CSC Coordinator.
CSC 510 Compiler Design-Construction
3 cr
Lexical analysis, syntactic analysis, intermediate code
generation, object code generation, memory use, generators
for scanners and parsers.
Pre-requisite: Computer Science Graduate 030
3 cr
Introduction to computer game development, including
a variety of related topics. The course will be driven be
research/technical paper discussions, student presentations,
and projects. The direction of the course will be guided to
some extent by student interest.
Pre-requisite: Computer Science Graduate 030
CSC 520 Computer Architecture
3 cr
Instruction set design, pipelining, instruction-level
parallelism, memory hierarchy design, and multiprocessors.
Pre-requisite: Computer Science Graduate 030
southalabama.edu/bulletin
2015-2016 GRADUATE/UNDERGRADUATE BULLETIN
UNIVERSITY OF SOUTH ALABAMA
CSC 522 Performance Eval of Algorithms
COMPUTER SCIENCE 4
3 cr
Mathematical foundations; analytic, empirical, and
qualitative evaluation techniques; dynamic programming,
greedy algorithms, graph alorithms; and selected advanced
topics.
Pre-requisite: Computer Science Graduate 030
CSC 524 Computer Language Design
3 cr
A study of programming language design and specification,
including the compiling process, parsing, BNF grammars,
and models of semantics. Differences between interpreters,
assemblers, and compilers will be studied.
Pre-requisite: Computer Science Graduate 030
CSC 525 Complexity Theory
3 cr
Mathematical preliminaries, languages, finite automata,
Turing machines, decidability, recursive function theory,
complexity, tractability and NP-complete problems.
Pre-requisite: Computer Science Graduate 030
CSC 526 Data Mining
3 cr
This course provides an in-depth study of data mining.
Course content includes data preparation, feature selection,
pattern mining, classification, clustering, and sequence
mining. New research areas in data mining will also be
discussed. Laboratory assignments will provide students
with opportunities to interact with and develop data mining
technologies.
Pre-requisite: Computer Science Graduate 030
CSC 532 Distributed Systems
3 cr
This course will further enhance the students understanding
of the details of how an operating system functions. It will
focus on the advanced concepts associated with distributed
systems. The student will learn the underlying concepts of
such systems and the algorithms needed to provide the
required synchronization and communication.
Pre-requisite: Computer Science Graduate 030
CSC 533 Art Intel-Heuristic Prog
3 cr
Methods of heuristic programming, the production of
intelligent algorithms, and simulation of human cognitive
processes will be studied. AI languages, such as LISP
and PROLOG, will be discussed. Attention placed on
the relationship between man-made machines (robots)
and biological organisms with natural intelligence. Expert
Systems and neural network research will be studied.
Pre-requisite: Computer Science Graduate 030
CSC 557 Data Warehousing
3 cr
This course focuses on the design, development and
usage of data warehouses. Course content includes
dimensional modeling, ETL processes, physical design, and
analytical processing. New research areas related to data
warehousing technology will also be discussed.
CSC 580 Data Security
3 cr
Advanced concepts of software engineering will be
discussed. Program testing techniques including: structured
design and walk throughs, proving program correctness
and verifiability, and system coding standardization
and integration will be covered in depth. Software team
formulation and management techniques will be discussed.
Pre-requisite: Computer Science Graduate 030
The objective of this course is to introduce the inherent
strengths and limitations of cryptography in data security
applications, focusing on the basic principles of message
privacy, key negotiation, and key management. The course
covers various aspects of symmetric and asymmetric
ciphers and provides a broad coverage of the core areas
for engineering cryptographic systems. Students will be
expected to implement and analyze simple crytographic
schemes and read supporting articles and papers for
presentation. Prerequisite: CIS Graduate Professional
Component.
CSC 528 Introduction to Bioinformatics
CSC 582 Network Security
CSC 527 Software Engineering Princ
3 cr
3 cr
Bioinformatics is a highly interdisciplinary course between
computer science and biology. It focuses on the analysis
of proteins, genes, and genomes using computing
technologies such as computer algorithms and computer
databases. Students in this course will learn algorithms
and databases pertaining to bioinformatics (e.g., sequence
alignment, suffix tree and its biological/biomedical
applications, genome alignment, biological/biomedical
database search, and phylogeny reconstruction); gain
knowledge and hands-on experience of bioinformatics tools;
understand the interaction between computer science (in
particular, semantic technologies) and modern biology within
the context of data-driven knowledge discovery.
3 cr
The objective of this course is to provide students with the
knowledge and skills to begin supporting network security
within an organization. Students will gain an understanding
of fundamental network security concepts and mechanisms,
be able to identify security threats and vulnerabilities, and
help respond to and recover from security incidents. The
course will provide an understanding of how to design and
build secure network algorithms and environments while
gaining an in-depth knowledge of protocol security, intrusion
detection, and principles of cyber defense. Prerequisite:
CSC 580.
Pre-requisite: CSC 580 Minimum Grade of C
CSC 590 CSC Sp Top -
3 cr
Advanced selected topics in computer science. Prerequisite:
Permission of the CSC coordinator.
Pre-requisite: Computer Science Graduate 030
southalabama.edu/bulletin
2015-2016 GRADUATE/UNDERGRADUATE BULLETIN
UNIVERSITY OF SOUTH ALABAMA
CSC 595 CS Project Proposal Develop
COMPUTER SCIENCE 5
1 TO 3 cr
Development of the project proposal for the Computer
Science specialization master's project. Prerequisite: CIS
518, Graduate Professional Component, and Permission of
the Director of Graduate Studies.
Pre-requisite: CIS 518 Minimum Grade of S and Computer
Science Graduate 030
CSC 598 Computer Science Project
1 TO 3 cr
This course may be repeated for a maximum of six (6)
credits. A CIS project committee will provide direction during
the project. Prerequisite: Permission of the Director of CIS
Graduate Studies and approval of project and approval
of project proposal by the student's project committee.
Prerequisites: Approval of project proposal by student's
project committee and permission of the Director of CIS
Graduate Studies.
Pre-requisite: CSC 595 Minimum Grade of B
CSC 612 Cybersecurity
3 cr
This course focuses on developing expertise and
preparation for independent research in Cybersecurity
through an in-depth review of the Cybersecurity literature.
The student will be conversant in broad issues and trends in
Cybersecurity as defined by skill sets and occupations.
southalabama.edu/bulletin
2015-2016 GRADUATE/UNDERGRADUATE BULLETIN
Download