Aug 06, 2026  
2026-2027 Catalog 
    
2026-2027 Catalog

SDEV 160 - Programming With Data


PREREQUISITES/COREQUISITE: SDEV 140 Introduction to Software Development

CREDIT HOURS MIN: 3
LECTURE HOURS MIN: 3
This allows programming students to work with data of various data formats from different sources and storage systems. Students will explore both structured and unstructured data using relational databases (SQL) and non-relational databases (NoSQL), work with APIs, and manipulate data in formats like XML, JSON, and CSV. Through hands-on exercises, students will learn how to efficiently store, retrieve, and manipulate data, building a strong foundation for data-driven programming.

MAJOR COURSE LEARNING OBJECTIVES:  

1. Identify the key differences between relational and non-relational databases.

2. Explain the principles of data storage, retrieval, and manipulation in both SQL and NoSQL environments.

3. Apply database commands (e.g., DDL/DQL/DML/TCL) to create, store, retrieve and manipulate data in a relational database.

4. Execute CRUD operations in NoSQL databases using appropriate tools or frameworks.

5. Integrate data from multiple sources (e.g., REST APIs, CSV, JSON) within a data pipeline.

6. Analyze the structure and format of various data types (XML, JSON, CSV) and manipulate them using relevant tools.

7. Design database schemas using 1st, 2nd, and 3rd normal form, as well as Boyce-Codd Normal Form (BCNF), ensuring database efficiency and integrity.

8. Design a scalable database architecture using a combination of SQL and NoSQL technologies.

9. Synthesize data from relational databases, NoSQL systems, and APIs to build a robust, data-driven solution.

10. Demonstrate proficiency in handling errors, exceptions, and edge cases while working with data in various database management systems.

COURSE CONTENT: Topical areas of study include - Relational databases

Non-relational databases

Data models

Database management systems (DBMS)

DDL - Data Definition Language

DQL - Data Query Language

DML - Data Manipulation Language

DCL - Data Control Language

TCL - Transaction Control Language

Joins, subqueries, and aggregations

Indexing, views, and stored procedures

Key-value, document-based, and graph databases

CRUD operations in NoSQL databases

1st, 2nd, 3rd Normal Forms

Boyce-Codd Normal Form (BCNF)

Database schema and metadata

Data Formats: XML, JSON, CSV

REST APIs

RESTful services

API authentication and pagination

ETL (Extract/Transform/Load) process and pipelines

Data validation, error handling, and logging

Query optimization techniques

Indexes, partitioning, and sharding

Data cleaning and pre-processing

Data Security and Privacy

Security best practices for databases

Encryption, authentication, and access control