less LANs, and ad-hoc networks. Topics include wireless communication
basics, access technologies, medium access control, naming and addressing,
routing, mobility support and management, security, and power manage-ment.
Prerequisite: C or better in CSCI U412 or consent of instructor.
CSCI U516. Distributed and Network Programming (3) Design and
implementation of distributed application and network communication
programs, including network application development with UCP and
TCP/IP protocols, introduction to distributed systems and computing ,
RIM, socket programming, client/server models, and communication
primitives, such as datagrams, packet retransmission, routing, addressing,
error handling, and flow control. Prerequisite: C or better in CSCI U321 or
consent of the instructor.
CSCI U520. Database System Design (3) Database Management System
(DBMS) architecture and organization, design and implementation of DBMS,
data models, internal databases structures, conceptual modeling, data
independence, data definition language, data manipulation language,
normalization, transaction processing, recovery, and security. Prerequisite:
C or better in CSCI U300 or consent of instructor.
CSCI U521. Database Implementation, Application, and Admin-istration
(3) Design and implementation of database and client/server
applications, in-depth treatments of embedded queries and stored pro-cedures,
database triggers, database extended languages, architectures
and design patterns of distributed application, transaction processing,
performance tuning, recovery and backups, auditing, and security. Pre-requisite:
C or better in CSCI U520 or consent of instructor.
CSCI U525. Knowledge Discovery and Data Mining (3) Extraction
and discovery of knowledge from large databases, data integration and
data warehousing, data mining algorithms, models, and applications
including association rule mining information retrieve (IR) and mining
of text databases, decision tree, decision rules, classification techniques,
cluster analysis, and evaluation, visualization, and interpretation of
patterns. Prerequisite: C or better in CSCI U300 or consent of instructor.
CSCI U526. Data Mining for Computer Security (3) Data mining
algorithms and models, including association rule mining, decision trees,
decision rules, classification techniques, cluster analysis, data mining
tools for malware detection, active defense, inside threat detection and
firewall policy analysis, data mining applications for misuse/signature
detection, anomoly detection and scan detection and profiling network
traffic. Prerequisite: C or better in CSCI U321 or consent of instructor.
CSCI U530. Programming Language Structures (3) Paradigms and
fundamental concepts of programming languages, such as scope, binding,
abstraction, encapsulation, typing, and language syntax and semantics.
Functional and logic programming paradigms are also introduced through
sample programming languages. Prerequisites: C or better in CSCI U210
and CSCI U321 or consent of instructor.
CSCI U540. Software Engineering (3) Methods and tools of software
engineering, software life cycle, iterative development processes includ-ing
the Agile Method and Unified Process, object oriented analysis and
design of software, software testing, cost and effort estimation, project
management, risk analysis, and documentation. A relatively large software
system is developed in a team environment. Prerequisite: C or better in
CSCI U321 or consent of instructor.
CSCI U555. Advanced Computer Security and Information Assurance
(3) Cryptography, telecommunication and network security, applications and
system development security, Business Continuity Planning (BCP), cyber-crimes
and countermeasures. The hands-on laboratories provide extensive
practices on firewalls, Virtual Private Networks (VPN), Intrusion Detection
Systems (IDS), and other computer security tools. Prerequisite: C or better
in CSCI U412 and CSCI U455; or consent of instructor.
CSCI U556. Web Development Security (3) Fundamental coverage
of issues and techniques in developing secure web-based applications;
related topics such as network security, web server security, application-level
security and web database security, etc. The hands-on laboratories
provide extensive practices on securing client-database communication,
securing data in the database, and securing a large online application using
X509 certificate and secure socket layer. Prerequisite: C or better in CSCI
U321 and C or better in CSCI U456; or consent of instructor.
CSCI U560. Numerical Analysis (3) (=MATH U560) Difference calculus,
direct and interactive techniques for matrix inversion, eigen value problems,
numerical solutions of initial value problems in ordinary differential equa-tions,
stability, error analysis, and laboratory applications. Prerequisites:
MATH U245 and U344, and programming competency.
CSCI U580. Introduction to Artificial Intelligence (3) Intelligent agents,
expert systems, heuristic searching, knowledge representation and reason-ing,
artificial neural networks, ontologies, and natural language processing.
Prerequisites: C or better in CSCI U321 or consent of instructor.
CSCI U585. Introduction to Computer Vision (3) Processing and
analyzing features in still digital images, camera calibration, stereopsis,
object recognition, the processing of edges, regions, shading and texture,
and introductory video processing techniques. Prerequisites: C or better in
CSCI U321 and MATH U141 or consent of instructor.
CSCI U599. Computer Science Senior Seminar (3) Integration of knowl-edge
at an advanced level, a review of recent developments in theoretical
and applied computer science, the exploration of ethical issues, along with
research and oral presentation. Prerequisites: 12 hours of 300 level or above
computer science courses and consent of instructor.
DIGITAL STUDIES (DGST)
DGST U101. Introduction to Digital Studies (3) Cross-disciplinary
exploration and application of digital technologies for communication and
digital identity formation. Emphasis includes critical analysis of meaning
and significance of interconnected digital capabilities for social, cultural,
ethical, legal, and philosophical issues related to the use of technology.
ECON U221. Principles of Macroeconomics (3) Causes and effects of
changes in economic aggregates, including gross domestic product, personal
Course Descriptions 197
2019-2020 USC Upstate Catalog