Object-oriented Programming and Quality Code academy.zariba.com Module Overview Lecture 1.

Slides:



Advertisements
Similar presentations
Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Introduction to Computer Science I Topic 14: Stepwise.
Advertisements

1.9 Methods academy.zariba.com 1. Lecture Content 1.What is a method? Why use methods? 2.Void Methods and methods with parameters 3.Methods which return.
From Noob To Game Developer academy.zariba.com Overview Lecture 1.
Database Course Program, Evaluation, Exams Telerik Software Academy Databases.
OOP Course Program, Evaluation, Exams, Resources Svetlin Nakov Telerik Software Academy academy.telerik.com Technical Trainer
1.11 Introduction to OOP academy.zariba.com 1. Lecture Content 1.What is OOP and why use it? 2.Classes and objects 3.Static classes 4.Properties, fields.
Algorithmically Adversarial Input Design “Making Mathematical Reasoning Fun” Workshop ACM SIGCSE, 2013 Brian C. Dean, Chad Waters School of Computing,
2.5 OOP Principles Part 1 academy.zariba.com 1. Lecture Content 1.Fundamental Principles of OOP 2.Inheritance 3.Abstraction 4.Encapsulation 2.
Course Content, Evaluation, Exams Telerik Software Academy ASP.NET Web Forms.
Game Development and Game Design academy.zariba.com 1.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
DAAD project “Joint Course on OOP using Java” Design Patterns in the course ‘OOP in Java’ - first experiences Ana Madevska Bogdanova Institute of informatics.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
JavaScript Basics Course Introduction SoftUni Team Technical Trainers Software University
CSCI-383 Object-Oriented Programming & Design Lecture 4.
Week 11 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
IENG 471 Facilities Planning
Course Program, Evaluation, Exams, Resources Telerik Software Academy Data structures and algorithms.
Course Introduction Software Engineering
Advanced JavaScript Course Introduction SoftUni Team Technical Trainers Software University
Programming Basics Course Introduction SoftUni Team Technical Trainers Software University
10/10/2015 IENG 471 Facilities Planning 1 IENG Lecture END Project Report Requirements & Project Presentation Information.
Database Course Program, Evaluation, Exams Svetlin Nakov Telerik Software Academy academy.telerik.com Technical Trainer
Workshop on Graph Theory academy.zariba.com 1. Workshop Contents 1.What are graphs? 2.Are they useful? 3.Implementing our own Generic Graph 4.Depth First.
Course Program, Evaluation, Exams
Univ. of TehranComputer Network1 Computer Networks Computer Networks (Graduate level) University of Tehran Dept. of EE and Computer Engineering By: Dr.
1.1 Introduction to Programming academy.zariba.com 1.
Welcome to Zariba Academy academy.zariba.com Overview Lecture 1.
JS Frameworks Course Program, Evaluation, Exams Doncho Minkov Telerik Software Academy academy.telerik.com Senior Technical Trainer
Course Program, Evaluation and Exams Svetlin Nakov Telerik Software Academy academy.telerik.com Technical Trainer
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 6: Object-Oriented Programming.
JavaScript Basics Course Introduction Svetlin Nakov Technical Trainer Software University
Trainers Team Ivan Yonkov Rated in the top 7% at Stack Overflow
CS251 – Software Engineering Lecture 9: Software Design Slides by Mohammad El-Ramly, PhD
OOP Course Program, Evaluation, Exams, Resources Telerik Software Academy Object-Oriented Programming.
Course Program, Evaluation and Exams Telerik Software Academy C# Fundamentals – Part 2.
C# Basics Course Introduction Svetlin Nakov Technical Trainer Software University
ASP.NET MVC Course Program, Evaluation, Exams Nikolay Kostov Telerik Software Academy academy.telerik.com Team Lead, Senior Developer and Trainer
Web Fundamentals (HTML and CSS) Course Introduction Svetlin Nakov Technical Trainer Software University
Boris Milašinović Faculty of Electrical Engineering and Computing University of Zagreb, Croatia 15th Workshop on "Software Engineering Education and Reverse.
CSC 480 Software Engineering Lecture 1 August 18, 2004.
Unity and Algorithms academy.zariba.com Module Overview Lecture 1.
CS 162 Introduction to Computer Science II Winter, 2014: 60 Spring, 2014: 60 Summer, 2014: 71.
High-Quality Code: Course Introduction Course Introduction SoftUni Team Technical Trainers Software University
Advanced C# Course Introduction SoftUni Team Technical Trainers Software University
Object-Oriented Programming Course Introduction Svetlin Nakov Technical Trainer Software University
JavaScript Applications Course Introduction SoftUni Team Technical Trainers Software University
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
1.8 Multidimensional Arrays academy.zariba.com 1.
ME Curriculum Workshop Systems Engineering Discussion Rich Granger August 3, 2012.
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
ASP.NET MVC Course Program, Trainers, Evaluation, Exams, Resources SoftUni Team Technical Trainers Software University
Advanced JavaScript Course Introduction SoftUni Team Technical Trainers Software University
Web Services Course Program, Evaluation, Exams Telerik Software Academy Web Services and Cloud.
S5.40. Module Structure 30% practical tests / 70% written exam 3h lectures / week (except reading week) 3 x 2h of computer labs (solving problems practicing.
JS Frameworks Course Program, Evaluation, Exams
C# Database Fundamentals with Microsoft SQL Server
C# Databases Advanced with Microsoft SQL Server
Syllabus Introduction to Computer Science
JavaScript OOP: Course Introduction
Object-Oriented Programming: Course Intro
JavaScript Applications: Course Introduction
Course Overview, Trainers, Evaluation
JavaScript OOP academy.zariba.com.
Exam Preparation JavaScript OOP – July 2014 Telerik Software Academy
EECE 310 Software Engineering
A CASE STUDY INTRODUCING DYNAMIC PROGRAMMING IN CS2
Selection Insertion and Merge
Presentation transcript:

Object-oriented Programming and Quality Code academy.zariba.com Module Overview Lecture 1

Lecture Content 1.Lecturer 2.Previous Module Homework Notes 3.Lectures Overview 4.Evaluation, Timeline, Workshops etc. 5.Champions from Introduction to Programming with Games. 2

Lecturer 3 Martin Antonov Co-Founder and Game Designer at Fractal Games Founder of YoYoBulgaria and EfreetYoYoCompany Graduated Mathematics at the University of Warwick Studied one year at the Telerik Software Academy I like: Tennis, yoyos, computer games (DOTA anyone?), snowboard, billiards, table football etc.

Homework Notes What is wrong with the following lines of code? 1.int a = 5; 2.int a; 3.int a,b,c; a = int.Parse(Console.ReadLine()); b = 5;... c = 3; 4. Program.cs, class Program 5. Homework1.cs, Homework2.cs, Problem1.cs etc. 6. if(bunnyIsAlive) DoSomething(); 7. Math.Pow(x,2); 8. devide, rectangule etc. 4

Homework Notes What is wrong with the following code? The problem is to find the maximum of 2 values. static void Main() { int firstNumber = int.Parse(Console.ReadLine()); Int secondNumber = int.Parse(Console.ReadLine()); Console.WriteLine(Math.Max(firstNumber,secondNumber)); } 5

Homework Notes What is wrong with the following code? This is an actual homework copied 1:1. Class Program { static void Main() { int n = Convert.ToInt32(Console.ReadLine()); //int n2=n; int i = 0; int y = 0; while(i<n) { //n2+=n2; int n2 = Convert.ToInt32(Console.ReadLine()); y=y+n2; i++; } Console.WriteLine(y); } 6

Homework Notes Additional notes: 1. Name your solutions appropriately (“Homework 1” is bad naming). 2. Name your projects inside the solution appropriately (do not just put Homework1 or Problem1,2,3 etc.). 3. Insert the description of the problem on top as a comment. You can also insert the author. 4. Should not be using recursion on QuickSort and BinarySearch. 5. Only 1 person made the 2048 game. Thus, it will be given as a COMPULSORY homework after one of the lectures (made with OOP). 7

8 Object-oriented Programming and Quality Code 0. Module Introduction 1.Exception Handling in C# (short) 2.Defining Classes Part 1 (easy) 3.Defining Classes Part 2 (harder) 4.Extension methods, delegates, lambda, dynamic and LINQ (best) 5.OOP Principles Part 1 (important) 6.OOP Principles Part 2 (important) 7.Common Type System in.Net (short) 8.Quality Code – Proper Naming 9.Quality Code – Proper OOP 10.Quality Code – Principles and Design Patterns 11.MonoGame/XNA – brief overview (short) 12.Monopoly Architecture and Planning (short) 13.Implementing Monopoly with MonoGame(2-3 lectures)

9 Workshops 1.EscapeFloor Game – exam solution 2.SpacecraftWars – exam solution 3.Some of the shorter lectures will also be done in the workshops 4.Questions from students

Evaluation 10 This Course will be evaluated as follows: 20% Homework 20% Test 60% Teamwork Project To successfully complete the course: You must not skip lectures You must present your homework on time You MUST!!! participate in teamwork projects

Timeline months 2 times a week from 18:30 to 22:00 Optional Workshop on Saturday from 11:00 to 13:00 There will be 1 or 2 weeks without lectures after we have covered the whole material. Those should be used to make your team projects.

The Teamwork Project 12 For your teamwork projects you will have to create a game with the MonoGame engine. Evaluation of the team projects will emphasize on the quality of the code, architecture and design patterns used (same or similar to Monopoly). Roughly 40% The other 60% will be for game idea, graphics, gameplay, execution, playability, fun element etc. START EARLY! – you can start planning and discussing game ideas as early as lecture 2 when the teams will be announced. You can make your OOP structure after lecture 6. The last 1-2 weeks should be left for the graphics implementation, design patterns and quality code.

How to study 13 Do your homework Participate in lectures Ask questions Watch the videos online Participate in teamwork USE GOOGLE!

Champions from the Introduction Module 14 Best Homework Best Teamwork Projects Best Exams Petko Dimitrov – overall Bogomil Tomov st PacMan – 34 2 nd Space Game – 33 3 rd The adventures - 32 Group 1 – Ferah Sherifov 120% Max Score Group 2 – Stefan Nedyalkov, Dimitrina Georgieva

15 References

16 Zariba Academy Questions