Syllabus: Topic: Basics of Software Development in C# Lecturer: Miloš Kosanović Course Objectives
Syllabus: Topic: Basics of Software Development in C# Lecturer: Miloš Kosanović Course Objectives
NET
Syllabus
Course outcomes:
The participants will acquire:
problem solving skills – to analyze real life problem, find and develop algorithmic steps
to solve it and then implement these steps in C# programming language
basic knowledge of programming in C#
experience with developing and debugging software in Visual Studio
knowledge about basic and advanced data structures
ability to use version controls tools like GIT/SVN
Practical exercises:
The number of practical work will be 70%. The practical exercises will be implemented in Visual Studio
2015.
Evaluation:
Students will be evaluated based on:
Course duration:
It will last for 40 school classes (36 for lectures and 4 for tests). Lectures will be completed in a block
system in one-month time (10 days, 4 lectures per day)
Course content:
Homework
Day Topic Practical
And Test
Course outcomes:
Mastering the object oriented programming and skills to independently design solutions to problems
using the object-oriented concept and to learn how to develop applications in C# programs. Students
will acquire:
o strong understanding of OOP concepts
o Good understanding of standard .NET libraries
o Further develop real life problem solving skills
Practical exercises:
The number of practical work will be 60%. The practical exercises will be implemented in Visual Studio
2015.
Evaluation:
Students will be evaluated based on:
Course duration:
It will last for 40 school classes (36 for lectures and 4 for tests). Lectures will be completed in a block
system in one-month time (10 days, 4 lectures per day)
Course content:
Homework
Day Topic Practical
and Testing
2 class: Properties in C#, reference this, 2. class: Adding some properties and
static slass members. static attributes and methods in the
created application.
8 1. class: New controls, their properties and 1, 2, 3 class: Windows application HW2
events. with many forms.
Practical exercises: Exercising basic information modeling: for the given form, define concepts, their
characteristics, their constraints and their relationships. Exercising hierarchical data modeling: for the
given website, develop XML schema. Using draw.io service for drawing ER models. Exercising basic
understanding of the ER concepts: for the number of given short and longer sentences, identify concepts
and relationships and draw basic ER models. Exercising understanding of data and relation properties:
for the given narrative text, design ER models. Exercising advanced ER concepts, namely, identificators,
complex and multi-valued attributes, weak entities, asociative entities, cardinality and modality,
relationships with optional and mandatory entity participation, identifying and non-identifying
relationships, recursive relationships: for the given narrative text, design ER models. Exercising
transformation of conceptual to logical database design: for the given conceptual ER model, design
database schema, by using WWW SQL designer web service. MySQL software installation and
customization. SQL exercises: for the given texts and given database designs, develop the set of INSERT,
UPDATE and SELECT queries.
Evaluation: The overall grade is composed of the partial assessments of homework (20% of overall
grade, total of 3 homework assignments), final exam (50% of overall grade, practical test with the
narrative form of requirements which need to be transposed to a logical and physical database design +
narrative functional requirements for the given database structure which need to be transposed to SQL
queries) and participants engagement during class assignments (30% of overall grade, include trainers
personal assessment of the participants skills).
Course duration: The course is 40 classess long (36 for lectures and practical work, 4 for a final exam).
The 4 classes blocks will be implemented by day.
Course content:
Course outcomes:
The participants will acquire:
Practical exercises:
40% to 60% of working hours. Introduction to Visual Studio development environment and Web
projects. The implementation and publishing of web applications.
Evaluation:
Students will be evaluated based on:
Student will pass the exam if he has more than 50% of points.
Course duration:
It will last for 108 school classes (104 for lectures and 4 for tests). Lectures will be completed in a block
system in two-months time (27 days, 4 lectures per day)
Course content:
Homework
Day Topic Practical
and Testing
1 Explaining course content and structure Create default ASP.NET MVC
Web application architecture fundamentals application
Client server architecture
Three tier architecture
MVC pattern
Object Relational Mapper
Entity Framework
2 HTTP Protocol fundamentals Create Github repository
Development Tools (Visual Studio 2017)
Version control systems Commit code to Github
Git Flow repository organization methodology
Cloud Fundamentals Deploy code to Azure
Windows Azure platform
3 Object Relational Mapper Fundamentals Create ORM Model, create
Entity Framework Introduction migration and add the model
DB Context to DB Context
Entity Lifecycle
4 Basic operations with DB data through ORM Create CRUD controllers using
(Create, Read, Update, Delete - CRUD) scaffolding and execute basic
operations
5 Database relations through ORM (1:1, 1:N, M:N) Add relations using ORM
Validation of model data Add validation to the models
Model inheritance and polymorphism
6 Request processing in MVC .NET Adding routes through
Routing in MVC .NET attributes and using
Routing engine fundamentals convention
Route configuration: Adding custom routes with
- Attribute based constraints
- Convention based
Route registration
Route defaults, priorities and constraints
Course outcomes:
The participants will understand all processes and activities in software development and will
be able to participate in all phases of software project cycle.
Practical exercises:
20% to 50% of working hours. The practical exercises will include scrum meeting simulation,
sprint planning meeting simulation, use case analysis and discussion, software tools for fast
wireframe and UI development, overview and demonstration of tools for project management
and issue tracking.
Course content: Lecturer will need to complete a course from the selected field with its own
course curriculum.
Course duration: The course will last for 24 school classes (20 for lectures and 4 for tests).
Lectures will be completed in a block system (6 days with 4 classes per day).
Curriculum
The first day should be the general introduction into the course topics and the software
development cycle in general. The content and the learning pace will depend on the
candidate’s previous knowledge and experience. The remaining 5 days will follow the rule: 2
school classes of lecture, 2 school classes of practical work. The goal of the course will be to
follow the development of one real life project example from its inception to the first
production release of the product. It will be requested from the candidates to create a team for
the project, analyze the requirements, specify high level requirements, create the tasks or user
stories, describe the testing and quality procedures and describe their solution to the real life
problems.
Grading
1. Homework assignments will be graded with 20%
2. Lecturer will grade each student based on general impression with 30%.
3. Final ABCD test and project (which will contain requirements specification document) will be
graded with 50%
The student will pass each test if he has correctly answered more than 50% of the questions. The
student will pass the course if he has more than 50% of points.
Tests
The test questions and the topic of the project assignment will not be disclosed due to
confidentiality reasons.
Course content:
Homework
Day Topic Practical
And Test