Object-Oriented Programming Course Introduction Svetlin Nakov Technical Trainer Software University

Slides:



Advertisements
Similar presentations
OOP Course Program, Evaluation, Exams, Resources Svetlin Nakov Telerik Software Academy academy.telerik.com Technical Trainer
Advertisements

JavaScript Basics Course Introduction SoftUni Team Technical Trainers Software University
Software Quality Assurance QA Engineering, Testing, Bug Tracking, Test Automation Software University Technical Trainers SoftUni Team.
Software University Curriculum, Courses, Exams, Jobs SoftUni Team Technical Trainers Software University
PHP Basics Course Introduction SoftUni Team Technical Trainers Software University
Fundamentals SoftUni Welcome to Software University SoftUni Team Technical Trainers Software University
Advanced JavaScript Course Introduction SoftUni Team Technical Trainers Software University
Programming Basics Course Introduction SoftUni Team Technical Trainers Software University
Software Testing Lifecycle Exit Criteria Evaluation, Continuous Integration Ivan Yonkov Technical Trainer Software University.
Teamwork and Personal Skills Course Introduction Software University SoftUni Team Technical Trainers.
Fundamentals SoftUni Welcome to Software University SoftUni Team Technical Trainers Software University
Course Program, Evaluation, Exams
Start Your Own Blog Angel Georgiev Part-time Trainer angeru.softuni-friends.org Software University The Culture of Knowledge Sharing.
Svetlin Nakov Technical Trainer Software University
Course Program, Evaluation and Exams Svetlin Nakov Telerik Software Academy academy.telerik.com Technical Trainer
Test-Driven Development Learn the "Test First" Approach to Coding SoftUni Team Technical Trainers Software University
JavaScript Basics Course Introduction Svetlin Nakov Technical Trainer Software University
Trainers Team Ivan Yonkov Rated in the top 7% at Stack Overflow
OOP Course Program, Evaluation, Exams, Resources Telerik Software Academy Object-Oriented Programming.
C# Basics Course Introduction Svetlin Nakov Technical Trainer Software University
Web Fundamentals (HTML and CSS) Course Introduction SoftUni Team Technical Trainers Software University
Jekyll Static Site Generator Template-Based Site Generation Svetlin Nakov Technical Trainer Software University
Web Fundamentals (HTML and CSS) Course Introduction Svetlin Nakov Technical Trainer Software University
Web Fundamentals (HTML and CSS)
Exam Preparation Algorithms Course: Sample Exam SoftUni Team Technical Trainers Software University
High-Quality Code: Course Introduction Course Introduction SoftUni Team Technical Trainers Software University
Design Patterns: Structural Design Patterns General and reusable solutions to common problems in software design Software University
Advanced C# Course Introduction SoftUni Team Technical Trainers Software University
JavaScript Applications Course Introduction SoftUni Team Technical Trainers Software University
Mocking with Moq Tools for Easier Unit Testing SoftUni Team Technical Trainers Software University
Data Structures Curriculum, Trainers, Evaluation, Exams SoftUni Team Technical Trainers Software University
Programming for Beginners Course Introduction SoftUni Team Technical Trainers Software University
JavaScript Applications Course Introduction SoftUni Team Technical Trainers Software University
High-Quality Code: Course Introduction Course Introduction SoftUni Team Technical Trainers Software University
PHP Basics Course Introduction Svetlin Nakov Technical Trainer Software University
Software Technologies Course Overview SoftUni Team Technical Trainers Software University
Programming Fundamentals Course Introduction SoftUni Team Technical Trainers Software University
Doctrine The PHP ORM SoftUni Team Technical Trainers Software University
Team Work and Personal Skills Course Introduction Angel Georgiev Part-time Trainer Software University
Creating Content Defining Topic, Creating Technical Training Materials SoftUni Team Technical Trainers Software University
ASP.NET MVC Course Program, Trainers, Evaluation, Exams, Resources SoftUni Team Technical Trainers Software University
Inheritance Class Hierarchies SoftUni Team Technical Trainers Software University
Advanced JavaScript Course Introduction SoftUni Team Technical Trainers Software University
Stacks and Queues Processing Sequences of Elements SoftUni Team Technical Trainers Software University
Generics SoftUni Team Technical Trainers Software University
C# OOP Advanced Course Introduction SoftUni Team Technical Trainers Software University
Java OOP Advanced Course Introduction SoftUni Team Technical Trainers Software University
JavaScript Advanced Course Overview SoftUni Team Technical Trainers Software University
Software Technologies
Programming Fundamentals (Extended)
Databases basics Course Introduction SoftUni Team Databases basics
Data Structures Course Overview SoftUni Team Data Structures
PHP MVC Frameworks Course Introduction SoftUni Team Technical Trainers
PHP Fundamentals Course Introduction SoftUni Team Technical Trainers
C# Database Fundamentals with Microsoft SQL Server
JavaScript Applications
JavaScript Applications
C# Databases Advanced with Microsoft SQL Server
Software Technologies
Databases advanced Course Introduction SoftUni Team Databases advanced
Object-Oriented Programming: Course Intro
JavaScript Fundamentals
JavaScript Fundamentals
C# Advanced Course Introduction SoftUni Team C# Technical Trainers
Databases Advanced Course Introduction SoftUni Team Databases Advanced
Web Fundamentals (HTML and CSS)
C# Advanced Course Introduction SoftUni Team C# Technical Trainers
Course Overview, Trainers, Evaluation
JavaScript Fundamentals
JavaScript Frameworks & AngularJS
Presentation transcript:

Object-Oriented Programming Course Introduction Svetlin Nakov Technical Trainer Software University

Table of Contents 1.Course Objectives 2.Course Program 3.Trainers Team 4.Examination 5.Learning Resources 2

SoftUni Diamond Partners

Level #2 at the Software University Object-Oriented Programming (OOP) 10 times + TW + exam 6 weeks * 2 times JavaScript Applications 4 times + TW + exam 3 weeks * 2 times JavaScript OOP 5 times + TW + exam 4 weeks * 2 times High-Quality Code 16 times + team work project (TW) + Exam 16 weeks * 1 times

OOP Course Course Objectives & Program

6  The "OOP" course:  Fundamentals in OOP programming:  Defining, structuring and using classes properly  Classes, objects, constructors, methods, properties, static members, …  Basic principles of OOP and applying them to our code  Encapsulation, abstraction, inheritance, polymorphism, exceptions, …  OOP in different languages (C#, Java, PHP)  Develop object-oriented thinking and problem-solving skills  Object-oriented modeling Course Objectives

7 1.Course Introduction. Defining classes and their components (fields, properties, constructors, methods, etc.) 2.Exceptions. Using static members, namespaces, indexers and operators 3.Other OOP types (Structures, Enums, Generics, Attributes) 4.Delegates and Events. Other types: enums, structures, generics, … 5.Functional programming in different languages (C#, Java, JS, PHP) 6.Principles of OOP: Inheritance, Abstraction, Encapsulation and Polymorphism 7..NET Common Type System OOP – Course Topics

8 8.OOP in Java – Classes, Interfaces, Enums, etc. 9.OOP in PHP – Classes, Interfaces, Traits, etc. 10.Design Patterns – Overview of the Classic Design Patterns 11.Workshop I – Real-world Object-Oriented Application 12.Workshop II – Real-world Object-Oriented Application 13.OOP Exam Preparation 14.Practical OOP Exam OOP – Course Topics (2)

The Trainers Team

10  Svetlin Nakov, PhD  Training & Inspiration Software University  20+ years software development experience  10+ years experience as a trainer  Author of 7 programming books  Speaker at hundreds of events  Web site & blog: Trainers Team

11  Teodor Kurtev  Software Software University  Top performing graduate from the Software Academy (2013)  Vladimir Georgiev  Software Software University  Top performing graduate from the Software Academy (2013) Trainers Team (2)

12  Vladislav Karamfilov  Game XS Software  Top performing graduate from the Software Academy (2013)  Volunteer Trainers  Top students from SoftUni  Will teach workshops and advanced topics Trainers Team (2)

13  5+ volunteer teaching assistants  Scholarship students from SoftUni  Top students from SoftUni Volunteer Teaching Assistants

OOP Course: More Details Duration, Languages, Technologies

15  Lectures: ~ 30 hours (onsite + YouTube videos)  Practical exercises (in class): ~ hours  Homework: ~ hours  Team project: ~20-30 hours  Exam preparation: ~ 20 hours  Exam: 6 hours  Schedule: 15 Sept – 26 Oct 2014  Exam date: 24 and 26 Oct 2014 Training Duration – OOP

16  Object-oriented programming is an important paradigm  Anyone involved in software development should be familiar with OOP and OO modeling  All modern languages are either object-oriented or support classes and objects  Modern frameworks, libraries and APIs are object-oriented  E.g..NET Framework Class Library (C#), Java API classes (Java), Laravel (PHP), Django (Python), Rails (Ruby), STL (C++), …  OOP is a basic requirement for starting a developer job Why OOP?

17  Why the slides are in English?  English is the native language of software engineers  Specific terminology should be in English  Translations are inaccurate and funny  Just learn English!  No excuses Why English?

OOP Course Evaluation Criteria

19  Exam – 75 % (80% for online students)  Homework + evaluation – 5 % + 5 %  Team work project: 10%  Presence in class: 5% (onsite students only)  Bonuses: up to 10 %  Forum bonuses  Assistant bonuses  Others Scoring System for the OOP Course

20  2 practical problems for 6 hours:  You are given a project skeleton (empty classes and interfaces)  You should implement the missing functionality properly  Your project should be written in C# and should correctly follow all OOP principles  Automated judge system with real-time feedback gives only 50% of the total exam score  The other 50% come from code review by the SoftUni team The OOP Exam

21  Create a 2D RPG game of your own choice  Should be OOP-structured and follow the good practices of OOP  Can be written in C# or Java (up to the team to choose)  Can be console-based or with a GUI Teamwork Project

22  Doing your homework is very important!  Programming can only be learned through a lot of practice!  You should write code every day!  Each lecture is followed by a few exercises  Try to solve them in class  The rest are your homework  Homework assignments are due in 1- 2 weeks after each lecture  Submission will be accepted through our web site: softuni.bgsoftuni.bg Homework Assignments

23  Give feedback to a few random homework submissions  Students submit homework anonymously  Please exclude your name from the submissions!  For each homework submitted  Students evaluate 3 random homeworks  From the same topic, after the deadline  Give written feedback, at least 200 characters  Low-quality feedback  report for punishment  Everyone will get feedback for their homework Homework Peer Reviews

Resources What Do We Need Additionally?

25  The OOP Course official website:  Register for the "Software University Forum":  Discuss the course exercises with your colleagues  Find solutions for all course exercises  Share source code / discuss ideas / help each other Course Web Site & Forums

26  All lecture slides, videos, homework assignments, projects and other resources are open content, available for free  Visit the course web site to access the course resources The OOP Slides and Videos

27  Software University Learning System (SULS)   Important resource for students  Homework submissions  Homework check-up  Exams and results  Reports about your progress  … Software University Learning System (SULS)

28  The "OOP" course provides  Fundamental understanding of OOP programming  Training program  OOP basic principles, using Classes and application in in different OOP Languages  Practical exams  Automated judge system + code review  Learning resources  Lectures, videos, software, books, forum Summary

? ? ? ? ? ? ? ? ? OOP – Course Introduction

License  This course (slides, examples, demos, videos, homework, etc.) is licensed under the "Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International" licenseCreative Commons Attribution- NonCommercial-ShareAlike 4.0 International  Attribution: this work may contain portions from  "Fundamentals of Computer Programming with C#" book by Svetlin Nakov & Co. under CC-BY-SA licenseFundamentals of Computer Programming with C#CC-BY-SA  "OOP" course by Telerik Academy under CC-BY-NC-SA licenseCC-BY-NC-SA 30

Free Software University  Software University Foundation – softuni.orgsoftuni.org  Software University – High-Quality Education, Profession and Job for Software Developers  softuni.bg softuni.bg  Software Facebook  facebook.com/SoftwareUniversity facebook.com/SoftwareUniversity  Software YouTube  youtube.com/SoftwareUniversity youtube.com/SoftwareUniversity  Software University Forums – forum.softuni.bgforum.softuni.bg