Programming Basics
Course Introduction
Program
ming
Basics
SoftUni Team
Technical Trainers
Software University
http://softuni.bg
Thanks to University of Ruse
2
Table of Contents
1. Course Objectives
2. Course Program
3. Trainers Team
4. Examination
5. Learning Resources
3
Programming Basics Course
Course Objecti ves & Program
Course Objectives
The “Programming Basics" course:
First steps in computer programming with C#:
Compiler, IDE, variables, control-flow logic, console I/O, loops
Establish algorithmic thinking
Development of problems solving skills
Prepare for learning other languages and software technologies
Java, HTML, CSS, JavaScript, PHP
Databases & SQL, high-quality code
Web development technologies 5
Programming Basics – Course Topics
1. Course Intro. Basic Mathematical Concepts for Programmers
2. Introduction to Programming. Using the IDE
3. Primitive Data Types, Variables, Literals
4. Console-Based Input and Output
5. Operators, Expressions and Statements
6. Conditional Statements (if-else, switch-case)
6
Programming Basics – Course Topics (2)
7. Loops (while, do-while, for, foreach)
8. Advanced Topics: Methods & Collections
9. Exam Preparation: Solving Sample Exams
10. Practical Exam
7
The Trainers Team
Trainers Team
George Dimitrov
.NET developer and trainer
Experience with Java
Keen on high-quality code construction
C# trainer in Rousse University and
Rousse High Math School
9
Volunteer Teaching Assistants
Volunteer teaching assistants
Top students from SoftUni (from the "Fundamentals" Module)
Top performers from previous "Programming Basics" courses
10
Programming Basics Course Details
Durati on, Languages, Technologies
Training Duration – Programming Basics
Lectures: ~ 18 hours (onsite + YouTube videos)
Practical exercises (in class): ~ 18 hours
Homework + Lab + Exam Prep: ~ 50-100 hours
Exam: 6 hours
Allocation
Timeframe: October 2015 – January 2016
Exams: 17 January 2016
12
Why C# and .NET Framework?
C#, .NET and Visual Studio in Windows environment
Excellent start for beginners, very easy to learn
The C# language
Modern object-oriented language
Very popular, used by millions developers
Easy to learn, yet very powerful
C# is just the start!
We will learn Java, PHP, Linux, HTML, JS, SQL, and many more
13
Why English?
Why the slides are in English?
English is the native language
of the software engineers
Specific terminology should be in English
Translations are inaccurate and funny
Just learn English!
No excuses
14
Programming Basics
Evaluati on Criteria
Exams @ Software University
Course score formed by several components:
Exam results, homework, forums activity, etc.
Exams measure the individual performance
Do you have basic coding skills?
The "Programming Basics" exam serves as
admission criteria for the Software University
At least 100 points required for admission
16
Programming Basics Exam
The practical programming exam explained
5 practical problems for 6 hours
1 very easy, 3 with loops, 1 with bit operations
Covers all learned topics up to the moment
Automated judge system & real-time feedback
Solutions are evaluated for correctness only
Code quality is still not measured
17
Programming Exam – Sample Problem
Write a program that enters a positive integer number N from
the console (1 ≤ N ≤ 100) and prints a new year tree of size N,
following the examples below:
N = 1 N = 2 N = 3 N = 4 N = 5
| | | | |
* | * * | * * | * * | * * | *
** | ** ** | ** ** | ** ** | **
*** | *** *** | *** *** | ***
**** | **** **** | ****
***** | *****
18
Programming Exam – Sample Solution
static void Main()
{
int n = int.Parse(Console.ReadLine());
for (int i = 0; i <= n; i++)
{
int asterisksCount = i;
string asterisks = new string('*', asterisksCount);
int spacesCount = n - asterisksCount;
string spaces = new string(' ', spacesCount);
Console.Write(spaces);
Console.Write(asterisks);
Console.Write(" | ");
Console.Write(asterisks);
Console.WriteLine(spaces);
}
}
19
Scoring System for the Course
Onsite students
Exam – 80%
Serves as pass / fail criteria
Homework + evaluation – 10% + 10%
Forums activity – bonus up to 10%
Online students
Exam – 100%
Forums activity – bonus up to 10%
20
Final Exam – What Comes Next?
0 100 exam score 400 500
485
Bank loan?
Fail Pass Average Good Champion
Try again at Join the module Apply for
the next exam "Fundamentals" scholarship
21
Homework Assignments
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 week after each lecture
Submission will be accepted through our web site: softuni.bg
22
Homework Peer Reviews
Everyone will 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 pieces of homework
From the same topic, in 3 days after the deadline
Give written feedback, at least 200 characters
Low-quality feedback report for punishment
Everyone can get feedback for their homework 23
The Judge System at the Exam
All exam problems will be tested automatically
Through our automated online judge system
During the exam preparation you will practice how to use the
automated judge system
You can register at any time to practice
How the testing (judge) system works?
You submit your C# source code
Your solution is tested with predefined tests
For each test passed you get some score
24
Resources
What We Need Additi onally?
Course Web Site & Forums
The Programming Basics official web site:
https://softuni.bg/courses/programming-basics/
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
http://softuni.bg/forum
26
The Programming Basics Slides and Videos
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
27
The Free C# Fundamentals Textbook
The official textbook for the course
"Fundamentals of Computer Programming with C#",
by Svetlin Nakov & Co., 2013, ISBN 9789544007737
English and Bulgarian versions (as PDF, ePub, …)
Freely downloadable from:
www.introprogramming.info
The C# Programming courses @ SoftUni.bg follow the book
Programming Basics chapters 1..6 (up to Loops) + advanced topics
28
Software University Learning System (SULS)
Software University Learning System (SULS)
www.softuni.bg
Important resource for all students
Homework submissions
Homework check-up
Exams and results
Reports about your progress
…
29
Required Software
Software needed for this course:
Microsoft Windows (Win 10 / 8.1 / Win8 / Win7 / Win XP)
Visual Studio Community 2015 (a free version of VS 2015)
Visual Studio 2013, 2012, 2010 acceptable, but not recommended
.NET Framework 4.6 (included in Visual Studio)
30
Summary
The “Programming Basics" course provides
The very first steps in programming
Training program
Programming, using Visual Studio, variables,
control-flow logic, loops, advanced topics
Practical exams
Automated judge system + score system
Learning resources
Lectures, videos, software, books, forum
31
Programming Basics – Course Introduction
? ?
stio ns ? ?
Qu e ?
?
?
httpshttps://softuni.bg/courses/programming-basics/
License
This course (slides, examples, demos, videos, homework, etc.)
is licensed under the "Creative Commons
Attribution-NonCommercial-ShareAlike 4.0 International"
license
Attribution: this work may contain portions from
"Fundamentals of Computer Programming with C#" book by Svetlin Nakov & Co. under CC-BY-SA license
"C# Part I" course by Telerik Academy under CC-BY-NC-SA license 33
Free Trainings @ Software University
Software University Foundation – softuni.org
Software University – High-Quality Education,
Profession and Job for Software Developers
softuni.bg
Software University @ Facebook
facebook.com/SoftwareUniversity
Software University @ YouTube
youtube.com/SoftwareUniversity
Software University Forums – forum.softuni.bg