Skip to content

Course Syllabus

SE 3520 Database Systems

  • Division: Natural Science and Math
  • Department: Computer Science & Engineering
  • Credit/Time Requirement: Credit: 3; Lecture: 3; Lab: 0
  • Prerequisites: CS 2420, Acceptance into the Software Engineering BS Program
  • Corequisites: SE 3250, SE 3820
  • Semesters Offered: Fall
  • Semester Approved: Spring 2023
  • Five-Year Review Semester: Summer 2028
  • End Semester: Fall 2028
  • Optimum Class Size: 20
  • Maximum Class Size: 24

Course Description

Databases are everywhere. This advanced database course covers both the why and how you design a database, structured query language (SQL) syntax and usage, and how a software engineer uses a database to solve data integrity problems before they exist. Students will also learn about joins, aggregates, views, sequences and triggers. The course includes a comprehensive database project in a team environment.

Justification

Databases are incredibly prevalent -- they underlie technology used by most people every day if not every hour. Databases reside behind a huge fraction of websites; they're a crucial component of telecommunications systems, banking systems, video games, and just about any other software system or electronic device that maintains some amount of persistent information. In addition to persistence, database systems provide a number of other properties that make them exceptionally useful and convenient: reliability, efficiency, scalability, concurrency control, data abstractions, and high-level query languages. Databases are ubiquitous and important computer science tools. This is a required course for the Bachelor of Science in Software Engineering.

Student Learning Outcomes

  1. Students will be proficient in the SQL language including queries, joins, indexes, constraints, common table expressions (CTE), and subqueries.
  2. Students will be able to apply database design and the rules of data normalization to enforce data integrity.
  3. Students will be able to analyze complex business scenarios and create data models which follow the rules of data normalization.
  4. Students will be able to design, implement, and populate a database serving a backend application.
  5. Students will demonstrate an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives (ABET-SLO5).
  6. Students will demonstrate an ability to acquire and apply new knowledge as needed using appropriate learning strategies (ABET-SLO7).

Course Content

The following topics will be covered in this course:• Relational design and normalization• SQL language• Transactions• Database procedural language: triggers, procedures, functionsThis course includes a group project in which students design a database to support a real application (design, constraints, data population).