Before I start with the databases course, I’d like to share more about what courses have taken SoftUni’s first students.

SoftUni Levels and Courses

SoftUni-LogoLast week (on Monday, Feb 2, 2015) we started the Databases course at the Software University (SoftUni). During the course we will train our students, who have already gone through many of the courses in SoftUni and passed them. In March 2014 we had about 2300 candidates at the university. Many of them were trained in the “Programming Basics” preparation course for the entrance exam. They learned basic concepts in programming like variables, conditional statements, loops, arrays, etc. The entrance examination was sitted by approximately 1000 people and they solved 5 logarithmic problems for 6 hours in a programming language of their choosing (C#, Java, JavaScript, PHP, C, C++) in our judge system (OJS). 550 of them passed the exam, paid the tuition fee and became students in the Software University.

Level #1 – Programming and Web

As a part of their education in Level #1, the students went through Java Basics, Web Fundamentals (HTML & CSS), JavaScript Basics, PHP Basics and Teamwork and Personal Skills courses.

Level #2 – Object-Oriented Programming, High-Quality Code, Advanced JavaScript and SPA

During their education in Level #2, the students took Object-Oriented Programming course, which taught them fundamental concepts from Object-Oriented Programming in different language, they even learned about functional programming, too. The Advanced JavaScript course taught them about deep shits in JavaScript and how it works. Throughout the JavaScript Applications course they learned more about building single-page applications only with jQuery and small libraries like Sammy.js, Mustache.js, etc. They learned how to consume RESTFull web services and built the front-end. The last course in Level #2 was named Single Page Applications. During this course they built a single-page application, this time with AngularJS.

Level #3 – Databases and Web Applications

After all courses they have already passed, the students still need to pass through one of the last obstacles in SoftUni – Level #3. In Level #3 we will teach the students about server-side development. The courses included are Databases, ORM Frameworks, Web Services and Cloud, Web Development Basics and ASP.NET MVC.

Level #4 – Specialized Courses

After passing through Level #3 they should take an Algorithms course and several courses of their choosing to graduate from the Software University.

Databases Course Trainers

G0908290Let’s get back to the databases course. The trainers team for the course include Svetlin Nakov, Boris Hristov and me. Svetlin is the co-founder of SoftUni and manages all educational activities at the Software University. He has been a lecturer in the software industry for hundreds of years and he has been a speaker at hundreds of events. Boris is a SQL Server MVP, consultant, trainer and international speaker at SQL Server events. I’m a Software Developer and Technical Trainer at the Software University.

Here you can watch a short interview with Boris Hristov. He tells more about his career so far and how he’ll contribute to the Databases course.

Also Boris didn’t resist the temptation and didn’t miss to write a blog post about the Databases course.20141226100801171

Databases Course Description

Let’s talk more about the Databases course. Here is a list of the topics we will cover.

  • Introduction to DatabasesIn this lecture we’ll talk about basics concepts in the databases, and we’ll go through all database objects. Which are the database models, what is relational database, what is RDBMS, what is a table, a column, a primary/foreign key, types of relationships. Which are the most popular RDBMS servers. What is normalization and how to normalize our tables. And we’ll pass quickly through integrity constraints, indices, DDL, DML, DCL, stored procedures, views, triggers, transactions NoSQL databases. All of these things will be taught in more depth in other lectures from the course.
  • Intro to MSSQL – Here we’ll talk about Microsoft SQL Server and how to install it. What services does the SQL Server install in our Windows OS and what do they do. How to work with the management studio. How to create users and give server and database permissions. How to login with Windows and SQL Server authentication. How to create databases with some tables and fill it with data.
  • Intro to MySQL and Oracle – During this lecture we’ll show the same stuff we showed for MSSQL, but this time with a different RDBMS.
  • Data Modeling and E/R DiagramsDuring this lecture about data modeling we’ll show how to design a database schema. What are the main steps in the database design process. How to identify entities, columns and relationships from text and design a database. Which are the data types in T-SQL. How to model databases with SQL Server Management Studio and at the end we’ll check out some naming conventions in databases.
  • SQL Basics – Here come the interesting things in databases (SQL queries). We’ll talk about different types of SELECT queries, selecting data from multiple tables with JOIN queries and how to insert, update or delete data with SQL.
  • MysqlAdvanced SQLThings become more and more interesting for us. Now is the time when the students might get a headache. We’ll talk about nested select statements, aggregating data, grouping, DDL, and other functions in SQL Server.
  • T-SQL and Stored ProceduresThis is another interesting lecture. It starts with DDL, DCL, DML and more syntax from T-SQL, stored procedures, triggers, views, user-defined functions, DB Cursors.
  • Database PerformanceHere Boris will help us with some real experience from the industry. He’ll tell us how to optimize our queries, how to find where the performance bottlenecks are. He will demonstrate SQL Profiler and execution plans to the students…
  • Database TransactionsThis is the second topic that Boris will teach. He will talk about transactions. What type of animal is a transaction? What is ACID? How to manage transactions in SQL. What are concurrency problems in DBMS. Boris will also share his best practices about concurrency control techniques, isolation levels, transactions log, recovery and how to use transactions at all.MongoDB_Logo
  • MongoDb, RedisAt the end of the course we’ll show some NoSQL databases, how to install them and how to work with them.

You can see all presentations, demonstrations and homework assignments for the course in our site. We record all lectures and upload them in YouTube. You can subscribe to the SoftUni YouTube channel. Check out the Databases playlist. All presentations, demonstrations and homework assignments are in English, but our lectures (videos) are in Bulgarian, because our current target is people from Bulgaria and we love Bulgaria. In the future we plan to make English subtitles or record videos in English.

Leave a Reply