Prerequisites and co-requisites |
None |
Language of instruction |
English |
Type |
Required |
Level of Course |
Bachelor's |
Lecturer |
Asst. Prof. Furkan GÖZÜKARA |
Mode of Delivery |
Face to Face |
Suggested Subject |
None |
Professional practise ( internship ) |
None |
Objectives of the Course |
Advanced programming topics and object oriented programming in C# programming language
|
Contents of the Course |
Essential concepts of object oriented programming, structures, classes, properties, methods, objects; Constructors, destructors, encapsulation, inheritance, polymorphism, operator overloading; Templates; Exceptions and exception handling; Dynamic memory allocation and management; Variable reference types; Threads, basics of threaded programming; Use of integrated development environments.
|
# |
Learning Outcomes |
1 |
Become familiar with the main concepts and processes of object oriented programming; |
2 |
Composing classes and writing methods are understood in details and established with examples; |
3 |
Where and how to use private, public, protected variables, classes, methods and static, dynamic object concepts are understood; |
4 |
How to store data, update data and read data from database is learned at beginners level; |
5 |
With threading and tasks, fundamentals of multi-core programming is learned; |
6 |
By understanding in details how to use form structure, advanced interface and features having computer programs can be coded; |
# |
Subjects |
Teaching Methods and Technics |
1 |
Dictionary usage, writing to a file, reading from a file, using structure, foreach loops, data type conversation |
Lecture |
2 |
Dictionary usage, writing to a file, reading from a file, using structure, foreach loops, data type conversation |
Lecture |
3 |
Class writing and using, function writing and using, recursive function programming, using stopwatch to calculate time, string formatting |
Lecture |
4 |
Writing methods and classes with using constructors, constructor overloading, method overloading, static variables, static classes, static methods, |
Lecture |
5 |
Introduction to MSSQL database, writing SQL database queries, writing a database connection class, using C# grid structure to effectively update database |
Lecture |
6 |
Introduction to MSSQL database, writing SQL database queries, writing a database connection class, using C# grid structure to effectively update database |
Lecture |
7 |
Using form structure to start multiple different forms, using task structure to do multi-threading programming and preventing main screen (main thread) freeze |
Lecture |
8 |
Midterm Week - No Lesson |
|
9 |
Global static variable definition, using form structure and database to show different screens to different ranks, improving database class with parameterized queries to prevent SQL injection attacks, using parameterized queries |
Lecture |
10 |
Global static variable definition, using form structure and database to show different screens to different ranks, improving database class with parameterized queries to prevent SQL injection attacks, using parameterized queries |
Lecture |
11 |
Using complex class structures, methods, expected and unexpected error handlers, HtmlAgilityPack library from Nuget and other 3 party libraries to develop an advanced web crawler |
Lecture |
12 |
Using complex class structures, methods, expected and unexpected error handlers, HtmlAgilityPack library from Nuget and other 3 party libraries to develop an advanced web crawler, using XML and Json to save and read data |
Lecture |
13 |
Using complex class structures, methods, expected and unexpected error handlers, HtmlAgilityPack library from Nuget and other 3 party libraries to develop an advanced web crawler |
Lecture |
14 |
Class interfaces and class inheritance |
Lecture |
15 |
|
|
16 |
Project Delivery |
Exam |
# |
Learning Outcomes |
Program Outcomes |
Method of Assessment |
1 |
Become familiar with the main concepts and processes of object oriented programming; |
1 |
1 |
2 |
Composing classes and writing methods are understood in details and established with examples; |
1 |
1 |
3 |
Where and how to use private, public, protected variables, classes, methods and static, dynamic object concepts are understood; |
1 |
1 |
4 |
How to store data, update data and read data from database is learned at beginners level; |
1 |
1 |
5 |
With threading and tasks, fundamentals of multi-core programming is learned; |
1 |
1 |
6 |
By understanding in details how to use form structure, advanced interface and features having computer programs can be coded; |
1 |
1 |