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
|