540 likes | 845 Views
Fundamentals of C# Programming Course. Introduction. Svetlin Nakov. Telerik Corporation. www.telerik.com. Table of Contents. About Telerik Telerik Academy Software Academy Trainers Team Course Contents Exams Teaching Resources The Software Engineering Essay
E N D
Fundamentals of C# Programming Course Introduction Svetlin Nakov Telerik Corporation www.telerik.com
Table of Contents • About Telerik • Telerik Academy • Software Academy • Trainers Team • Course Contents • Exams • Teaching Resources • The Software Engineering Essay • Requirements for All Trainees
About Telerik What Makes Telerik so Successful?
About Telerik • What Telerik does? • Leading vendor of ASP.NET AJAX, Silverlight, WPF, Window Phone 7 and ASP.NET MVC components, ORM, Reporting, and CMS solutions and Visual Studio plugins • Headquartered in Bulgaria • Offices in USA, Canada, UK, Germany, Australia • 450 employees – mostly developers • Employer #1 in Bulgaria for 2010 • Microsoft Gold Certified Partner
Why Telerik is Successful? • Hard Work • Essential to the success of any company • Constant Improvement • Adaptive to changes • Open Communication • Everyday we get feedback and improve our products and work processes • Good People • The greatest capital of the company
Investing in People • Telerik is constantly investing in people • Everyday improvement of the employee’s skills • Mentoring / coaching programs • Microsoft certification programs • Telerik strongly supports the community • Sponsors conferences for software engineers (PDC, DevDays, TechEd, DevReach, …) • Sponsors books, contests and other events • Supports few University courses
Telerik Academy Free Trainings for Software Engineers
About Telerik Academy • Telerik Academy is an initiative for Telerik for training of young software engineers • Four main streams • Software Academy • .NET Essentials • QA Academy • Developer Support • School Academy • Kids Academy • Student Courses
Telerik Software Academy What is It? How It Works? The Learning Track
Software Academy Training Program Objectives • Train young people in software engineering with the .NET technologies • Practical training with lots of practice • Cutting edge technologies from Microsoft • Software engineering skills • Supplement the University education • Hire the best students in the Telerik development teams • Support the IT industry development
Telerik Academy Learning Track C# Fundamentals (part I) C# Fundamentals (part II) C# Fundamentals (part III) 180 attendees 300 attendees 120attendees Dev Academy (part I) Dev Academy(short course) 30 att. 40 att. 1 month Support Basics 70 att. 2-3 months 1 week 4 months 30 att. Dev Academy (parts II-XI) 20 att. QA Academy DS Academy 20 att. ~ 20-25 graduates hired ~ 10-12 graduates hired ~ 10-15 graduates hired
Trainers Team • Svetlin Nakov, PhD • Manager Technical Training,Telerik Corp., Telerik Academy • 20 years software developmentexperience • 10+ years experience as trainer • Author of 6 books • Speaker of hundreds of events • E-mail: svetlin.nakov [at] telerik.com • Web site / Blog: http://nakov.com
Trainers Team (2) • Doncho Minkov • Technical Trainer,Telerik Corp, Telerik Academy • Student in Sofia University • Software Engineering • Contestant in the Informatics competitions • Graduate of the first season of Telerik Software Academy • Email: doncho.minkov [at] telerik.com • Blog: http://minkov.it
Trainers Team (3) • Nikolay Kostov • Technical Trainer, Telerik Corp. • Student in Sofia University • Computer Science • Contestant in the IT and Informatics competitions • Graduate of the second season of Telerik Software Academy • Email: nikolay.kostov [at] telerik.com • Blog: http://nikolay.it
Trainers Team (4) • Alon Rotem • Senior .NET developer,Sitefinity CMS, Telerik Corp • Member of Telerik'sTelerockers • Working in the IT industry since 1996 • Experienced with .NET technologies since 2006 • Industrially experienced with • C#, C++, Visual Basic and VBA, Delphi, classic ASP and ASP.NET, all frontend and backend development • Email: alon.rotem [at] telerik.com • Blog: http://alonintheworld.blogspot.com/
Trainers Team (5) • Ilian Iliev • Software Engineer, Telerik Corp. • Stream Company Co-Founder • Student in Technical University • Computer Systems and Technologies • Contestant in Mathematics competitions • Graduate of the second season ofTelerik Software Academy • Email: ilian [at] ilievdev.net • Blog: http://ilievdev.net
Trainers Team (6) • Dimitar Dimitrov • Software Developer, Sitefinity CMS, Telerik Corp • Student in Technical University • Computer Science • Graduate of the second season of Telerik Software Academy • Email: dimitar.dimitrov [at] telerik.com
Trainers Team (7) • Antonio Stoilkov • Developer Trainee, Telerik Corp. • Student in New Bulgarian University • Informatics • Contestant in the IT competitions • Graduate of the second season of Telerik Software Academy • Email: antonio.stoilkov [at] gmail.com
Trainers Team (8) • George Atanasov • WPF/Silverlight Developer,Telerik Corp. • Student in Sofia University • Software Engineering • 3.5 years software developmentexperience • 3 years experience at 3D & graphic design • Contestant in the IT competitions • E-mail: gogo.atn[at] gmail.com
Trainers Team (9) • George Georgiev • Informatics and IT competitions contestant • AcademyZ trainer • C++, OpenGL, C# • Student in Sofia University • Software engineering • Third season of Telerik Software Academy trainee • E-mail: georgi.stef.georgiev [at] gmail.com
C# Fundamentals: Course Contents What Topics Shall We Cover?
Course Objectives • Fundamentals of C# Programming course: • Give the trainees the fundamental computer programming knowledge and skills • Establish the logical and algorithmic thinking • Development of problems solving skills • Learn basic data structures, algorithms and object-oriented programming (OOP) concepts • Prepare for learning the technologies • Web, databases, SQL, ASP.NET, XAML, etc.
Course Topics: First Month • Introduction to Programming • Primitive Data Types and Variables • Operators, Expressions and Statements • Console Input / Output • Conditional Statements • Loops • Intermediate Exam #1 • Arrays • Numeral Systems • Methods
Course Topics: Second 2 Months • Recursion and Recursive Algorithms • Creating and Using Objects • Exceptions Handling • Strings and Text Processing • Defining Classes • Text Files • Intermediate Exam #2 • Linear Data Structures • Trees and Graphs • Dictionaries, Hash Tables and Sets
Course Topics: Last 2 Months • Algorithms Complexity and Data Structures • Object-Oriented Programming Fundamentals • Lambda Expressions and LINQ • High-Quality Programming Code • Methodology of Problems Solving • Problems Solving Practice #1 • Problems Solving Practice #2 • Problems Solving Practice #3 • Final Exam
Training Duration • Lectures: 39 hours (11 + 9 + 19) • Practical exercises: 55 hours (13 + 17 + 25) • Homework: ~ 108 hours (38 + 60 + 74) • Exams: 3x 6 hours • Allocation • Part I: ~ 1 month @ 2 times weekly, 4 hours • Part II: ~ 1.5 months @ 2 times weekly, 4 hours • Part III: ~ 2 months @ 2 times weekly, 4 hours
Why C# and .NET Framework? • Microsoft is one of the industry leaders • .NET Framework and C# are the primary development technologies in the MS ecosystem • The C# language • Contemporary object-oriented language • Widespread and very popular • Easy to learn • Most Telerik products target the .NET platform
Why English? • Why the slides are in English? • English is the native language of the software engineers • Forget about not learning it! • Specific terminology is betternot to be translated
Exams Intermediate and Final Exams
Exams • Exams measure individual performance • Serve as filter for skillful people • Half of the students pass forward • Exams are not the only filter!
Intermediate Exams • Intermediate exam #1 • 3-5 practical problems for 6 hours • Covers all learned topics up to the moment • Solutions are evaluated for correctness only • Best students continue in Part II of the course • Intermediate exam #2 • Similar to intermediate exam #1 • Best students continue in Part III of the course
Final Exam • The final exam is the ultimate filter • 4-5 practical problems for 6-8 hours • Covers the entire course content • More complex problems • Need of more skills and logical thinking • Evaluation of the solutions: • Correctness – are the solutions well tested? • Efficiency – are data structures used efficiently? • Quality of code – does it follow best practices?
The Exams Testing System • All exams will be tested automatically • Through our online judge system • You will be able to test working with the system right before the exam • How the Testing (Judge) System works? • You submit C# files • It tests your solution with predefined tests
Homework Assignments • Homework assignments are due in 1 week after each lecture • Submission instructions will be published at the course Web site • Expect this week a form for homework submission • The C# Game • Submit your everyday work progress in our web form on the course web site
Scoring System for Exam #1 • For the intermediate exam #1 • Exam – 75% • Essay – 10% • Homework + C# Game – 15% • Forumsactivity – bonus up to 10% • Measured as percentage of the total discussions • Helping the other students – bonus up to 10% • Each student's points who is helped him • Bug submissions in the Book – bonus up to 10%
Scoring System for Exam #2 • For the intermediate exam #2 • Exam – 80% • Homework + C# Game – 20% • Forumsactivity – bonus up to 10% • Bug submissions in the Book – bonus 10% • Helpingthe other students – bonus up to 10% • Translation of some chapter of the Book • Bonus up to 10% • Application with cover letter
Scoring for the Final Exam • For the final exam • Exam – 80% • Homework + C# Game – 20% • Bugsubmissions in the Book – bonus 10% • Allproblems from the Book – bonus 10% • Solved with detailed description (by template) • Forumsactivity – bonus up to 10% • Helping the other students – bonus up to 10% • Translation of some chapter of the Book
Resources What We Need in Addition to this Course Content?
The Textbook The official textbook for this course • “Introduction to Programming with C#”, Nakov S. and his team, 2010 • Freely downloadable from: www.introprogramming.info • The entire C# fundamentals course strictly follows the book contents
Web Site & Discussion Group • Please subscribe to "Telerik Academy" discussion group in Google Groups: • Discuss the course exercises with your colleagues • Find solutions to the exercises • Share source codeand ideas • The C# Fundamentals course official web site: http://groups.google.com/group/telerikacademy http://csharpfundamentals.telerik.com
Required Software • Software needed for this course: • Microsoft Windows • Microsoft Visual Studio 2010 or Visual C# 2010 Express Edition (free version of VS 2010) • .NET Framework 4.0
My Way to the Software Engineering Profession Our Essay for the Software Academy Engineers
Essay Objective • Answer some questions about yourself • Is the "software engineer" profession right for me? • Am I motivated enough to become a software engineer? • Am I ready to spent enough time to master the profession? • What makes a software engineer capable and successful professional? • To realize what to expect and to motivate yourself or to just leave the course
Essay Objective (2) • Write the essay on yourself • This is what you think of the profession, your what is your motivation and passion to become or not a software engineer? • Don't cheat, you will be caught! • Use the template and answer the questions with your own words • Expected length: 5 to 10 pages • Deadline: 2 weeks after this presentation
Requirements for All Trainees The Training Program Requires 100% Commitment!
Requirements for All Trainees • Basic computer skills • We don’t teach computer literacy • English • Ability to read technical documentation in English is enough • Very serious attitude • Long-term commitment • 8 hours / day (average)
Full Commitment • Key factors for succeeding in the Telerik Academy Training Program • Solid motivation • “Wise guys” are not welcome • Serious attitude • Willingness for really hard work • All your time • 50% in class (for the lectures and exercises) • 50%-500% at home (for the homework)
Invest in Yourself! • Invest in yourself! • Invest in your training! • Invest in your skills development! … Unless you consider yourself a bad investment. Do you?
Fundamentals of C# Programming Course http://academy.telerik.com