Nov 21, 2024  
2024-2025 Undergraduate Academic Catalog-June 
    
2024-2025 Undergraduate Academic Catalog-June
Add to Portfolio (opens a new window)

CSC 3320 - Databases

2 lecture hours 2 lab hours 3 credits
Course Description
This course introduces the theory and practice of database design and application, with an emphasis on relational models. Dimensional, non-relational, and other topical data models are introduced. Topics include SQL, database design using entity-relation modeling and normalization techniques, database application programming, object to relational mapping, authentication and access control, concurrency, and performance optimization.
Prereq: CSC 1120 , MTH 2310  (quarter system prereq: CS 2852, MA 2310)
Note: Students may receive credit for only one of BUS 2710  and CSC 3320.
This course meets the following Raider Core CLO Requirement: None
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Design database models using entity-relationship modeling, relational modeling, and normalization techniques 
  • Use standard database languages (e.g., SQL) for querying, manipulating, and basic management of databases 
  • Design and document relational database applications 
  • Describe the purposes and typical mechanisms for maintaining security and confidentiality, including stored procedures  
  • Understand basic database integrity properties of atomicity, concurrency, isolation, and durability 
  • Understand CAP Theorem concepts of consistency, availability, and partitioning 
  • Understand and be able to apply transaction processing and integrity constraints 
  • Understand fundamentals of query processing, indexing, and query performance optimization  
  • Be aware of current trends in the area of database systems such as NoSQL, dimensional modeling, Map Reduce.

Prerequisites by Topic
  • Understand and apply data structures and algorithms
  • Use appropriate algorithms (and associated data structures) to solve complex problems
  • Analyze the time complexity of algorithms, both sequential and recursive
  • Use data structures in software design and implementation

Coordinator
Dr. Jonathon Flynn



Add to Portfolio (opens a new window)