knowledge-kitchen

Course Intro - Database Design

Database Design

  1. Welcome
  2. Who you are
  3. Topics
  4. Structure
  5. Software
  6. What Others Say
  7. Conclusions

Welcome

Course description

Introduces principles and applications of databases.

We survey a variety of common database systems, starting with plain text data formats and spreadsheets, and moving into relational databases, document-oriented databases, with a light touch of more advanced topics like application programming interfaces (APIs) and blockchains (i.e. cryptocurrencies)

Students explore principles of database design and apply those principles to computer systems in general and in their respective fields of interest.

What is a database anyway?

A database is any system or tool used for storing data.

Conventions

While there might be, in theory, many different kinds of database systems, in practice only a few kinds dominate in today’s workplace.

We will explore a few representatives of the most popular kinds.

Me

Foo Barstein

Who you are

Profile

Who are you, really?

Welcome!

What you know

Topics

Database systems

We will look in some detail at a few database systems:

Teasers into other topics

We will take brief looks at a few exciting topics that might lead you towards future directions that interest you:

Skills we will develop

You cannot do contemporary work with data and databases without honing a few skills:

Questions we will answer

There are common questions we will aim to answer:

Structure

Overview

This course involves each of the following:

Grading

Grading is broken down as follows:

Texts

No single textbook is necessary nor sufficient for this course. A few useful textual resources we will refer to as-needed:

Software

Install these now

You will be required to have access to a computer set up for Python development. Install the following:

Using Bash on Windows

WINDOWS USERS - you should use Git Bash or Windows Subsystem for Linux (WSL) rather than Windows’ default Powershell or other command line shell program. To set Git Bash or WSL as the default terminal shell within Visual Studio Code, you can try to follow the instructions in the second answer here by Mahade Walid and edited by FruityOatyBar (ignore the first answe, which is outdated).

What Others Say

The Good

A sample of comments left by former students:

Overall, I thought this course did a phenomenal job of introducing me to a variety of new skills, concepts, and techniques with which I had no prior experience.

Assignments were definitely time–consuming, but learned a lot about a lot of different databases which I know will be useful down the road.

Lectures were great—Prof. Bloomberg has a quiet but palpable confidence and delivered the material effectively. He’s open to questions and discussion and his graders give relatively timely feedback. Assignments were also helpful in learning the content.

Really nicely structured course. Professor Bloomberg definitely knows his stuff. Good balance between new content and interesting exercises to reinforce the material.

The Bad

A sample of comments left by former students:

I personally wasn’t a huge fan of the quizzes, even though I did well on all of them. I thought they often had unclear/vague questions and weren’t the best way to reinforce the material. Given that there needs to be some quiz–like structure in the class, though, I’m not really sure if there’s an alternative. So maybe clearer and less ambiguous questions on the quizzes would be nice.

I wish it wasn’t so monotonous. The information in lecture was all in the slides – there were only a few times that live coding occurred, and even then only for a few minutes.

Speed up a little bit on the powerpoint (knowledge), and slow down a little bit on teaching the practical abilities.

I would add smaller projects in between larger biweekly projects to help enhance material.

The Ugly

I learned more from the tutors than I did from Amos. Avoid his as a teacher at all costs.

Learned nothing much from the course. Also; the course name is pretty baffling. What I expected was to learn some inner mechanisms of relational databases. However; the actual course was more like getting the feet wet for different tools like MongoDB; web apps; and even Pandas. Some might have enjoyed the course but at least I didn’t because I don’t think this is something that is supposed to be taught in college.

Time commitment

Time commitment

Openness

Openness

Challenge

Challenge

Knowledge increase

Knowledge increase

Conclusions

Thank you. Bye.