Course
ECE141b: Software Foundations
Sign-up for Slidespace now!
In order to access this course, you must first be a registered user of Slidespace. It takes less than a minute.
Description
In this course we're going to apply the patterns, abstractions, concepts and techniques we learned in ECE141a, to build a working relational database application. You'll work with a partner to design, develop, test, and build a working solution.
Learning Outcomes
- Putting design patterns to work
- Practicing key C++ idioms
- Applying design principles
- Learning better development techniques
Lectures
-
IntroductionWelcome -- let's get started!lecture
-
Fundamental ComponentsIn today's presentation, we'll answer your questions about relational databases, start our discussion on managing user data… (and the dreaded STORAGE class), and introduce key view concepts.lecture
-
Database CommandsThis application is about to get reallecture
-
Working with EntitiesA key concept in building tables and managing user datalecture
-
Table CommandsThis is where the fun really begins – as we get ready to create tables and store user data. But… the fun comes at the cost of a…… more sophisticated application design.lecture
-
System Design ConsiderationsMore ways to improve our designlecture
-
Insert RowsHonestly, this is when things become very real (and so cool)lecture
-
An Early Look at SelectIn this presentation we're going to get an early look at the select statement, and the special… challenges that it represents.lecture
-
Select RowsThis week we'll focus on the work we need to do to select rows. We use this logic in several… commands, from “SELECT *”, to……… “UPDATE” and… “DELETE”. … We'll… also examine some intermediate objects that can make our logic and our API's much easier to use.lecture
-
Filtering DataIn this presentation, we'll discuss the Filter class, used to handle where-clause expressions in our… queries. We'll also do some… informal code… reviews – and… see good/not-so-good practices in our code.lecture
-
Select...whereIn this discussion, we're going to implement our filters class to be able to handle more useful queries.lecture
-
On ReuseThinking about reusabilitylecture
-
Update/DeleteIn this lecture, we'll discuss the processes involved in handling UPDATING and DELETING rows from our database. There's…… more… to it than you… might first…… expect.lecture
-
Evolving Our DesignStrategies for changelecture
-
IndexingAdd your description here...lecture
-
Adapting our ArchitectureBuilding an architecture to evolve is essential for systems with a moderate-to-long lifespan. We'll talk about factors that enhance adaptability – and… examine our DB application to gauge adaptability.lecture
-
JoinsIn this presentation, we're going to discuss the use of LEFT and RIGHT joins. We'll review what they are, how they work, and offer… some… thoughts on how… you might add support fro them in your system.lecture
-
Performance improvementsThinking about cache designlecture
-
A Patterned ApplicationJust how many patterns did we apply?lecture
-
Summary and Farewell
Time to say goodbye...
lecture -
FinalGet access to the two parts of your final examlecture