194 Course Descriptions
2018-2019 USC Upstate Catalog
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 Administration
(3) Design and implementation of database and client/server
applications, in-depth treatments of embedded queries and stored procedures,
database triggers, database extended languages, architectures
and design patterns of distributed application, transaction processing,
performance tuning, recovery and backups, auditing, and security. Prerequisite:
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 including
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), cybercrimes
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, applicationlevel
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 equations,
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 reasoning,
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 knowledge
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.
Note: Students seeking a degree in business must be admitted
to the Professional Program (Upper Division) before enrolling
in 300-level and above business administration and economics
courses. Students not majoring in business must have 54 credit
hours earned to take 300-level and above business administration
and economics courses. All students must have a cumulative GPA