Computer Programming | |||||
Associate | TR-NQF-HE: Level 5 | QF-EHEA: Short Cycle | EQF-LLL: Level 5 |
Course Code: | BIL203 | ||||
Course Name: | Object Oriented Programming Fundamentals | ||||
Semester: | Fall | ||||
Course Credits: |
|
||||
Language of instruction: | Turkish | ||||
Course Condition: | |||||
Does the Course Require Work Experience?: | No | ||||
Type of course: | Compulsory Courses | ||||
Course Level: |
|
||||
Mode of Delivery: | Face to face | ||||
Course Coordinator: | Öğr. Gör. AHMET SELİM ÖVER | ||||
Course Lecturer(s): | Öğr. Gör. Meral Ergün & Öğr. Gör. Gökhan Dilek | ||||
Course Assistants: |
Course Objectives: | This course aims to provide students with an understanding of object-oriented programming (OOP) concepts by focusing on the basic principles of the C# programming language. Participants will gain basic skills in object-oriented programming to improve their ability to write maintainable, modular and understandable code in C#. |
Course Content: | Introduction and Basic Concepts Programming Paradigms Introducing C# and .NET Framework Basic C# Syntax Fundamentals of Object Oriented Programming Classes and Objects Inheritance and Interfaces Polymorphism and Encapsulation Abstract Classes and Interfaces Basic C# Programming Concepts Variables and Data Types Control Structures (If-Else, Switch) Loops (For, While, Do-While) Error Management and Exceptions Error Types Try-Catch Blocks Special Exception Classes File Operations and Database Connections Reading and Writing Files Basic Database Operations (CRUD Operations) Using Entity Framework Project Development Applied studies on a small-scale project Putting learned concepts into practice Prerequisite: BIL101 |
The students who have succeeded in this course;
1) C# programlama dilinin temel söz dizimini anlama. 2) Understand the general principles of object-oriented programming. 3) Explaining the concepts of class and object. 4) Understanding basic OOP concepts such as inheritance, polymorphism, encapsulation. 5) Ability to use variables and data types. 6) Ability to program using control structures (if-else, switch) and loops (for, while, do-while). 7) Distinguishing basic error types. 8) Ability to manage errors using try-catch blocks. 9) Performing file reading and writing operations. 10) Establishing database connections and performing CRUD (Create, Read, Update, Delete) operations. 11) Ability to apply on a small-scale project. 12) Ability to apply learned concepts in a project. 13) Developing skills to explain and share programming concepts. 14) Ability to collaborate within a group. 15) Ability to analyze problems encountered in software projects. 16) Ability to apply a variety of problem-solving strategies. |
Week | Subject | Related Preparation |
1) | Programming Paradigms and Introducing C# and .NET Framework | None |
2) | Basic C# Syntax | None |
3) | Variables and Data Types + Control Structures (If-Else, Switch) | None |
4) | Loops (For, While, Do-While) | None |
5) | Classes and Objects & Inheritance and Interfaces | None |
6) | Polymorphism and Encapsulation | None |
7) | Abstract Classes and Interfaces | None |
8) | Midterm | 1,2,3,4,5,6,7 |
9) | Error Types - Try-Catch Blocks | None |
10) | Special Exception Classes | None |
11) | File Reading and Writing & Basic Database Operations (CRUD Operations) | None |
12) | Using Entity Framework | None |
13) | Applied studies on a small-scale project | None |
14) | Putting learned concepts into practice and developing larger projects | None |
15) | Final | 9,10,11,12,13,14 |
Course Notes / Textbooks: | Yeni Başlayanlar İçin C# ile Algoritmalara ve Programcılığa Giriş - Fahrettin Erdinç |
References: | https://www.udemy.com/course/csharp-programlama-dili/ |
Course Learning Outcomes | 1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Program Outcomes | ||||||||||||||||
1) He gains the ability of problem solving and analytical thinking skills. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 2 | 3 |
2) He learns the fundamentals of computer programming, hardware and software and the basic computer concepts. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
3) He develops algorithms according to the problems, gains the ability to distinguish the appropriate ones from the fundamental algorithms for the problem. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
4) He understands object-oriented programming concept and web programming. | 3 | 3 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 2 | 3 | 3 | 3 | 3 |
5) He learns radix systems, fundamental electronics and computer hardware knowledge. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
6) He gains mobile programming skills and develops applications for mobile platforms. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
7) He designs and codes databases. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
8) He learns to program and use computer networks, open source operating systems. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
9) He uses the English language effectively. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
10) He learns to use appropriate data structures according to programming requirements. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
11) He develops software individually or as a team. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
12) He follows developments in the field, high technology tools / applications. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
13) He gains awareness of professional and ethical responsibility and has an awareness of professional ethics. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
No Effect | 1 Lowest | 2 Average | 3 Highest |
Program Outcomes | Level of Contribution | |
1) | He gains the ability of problem solving and analytical thinking skills. | 3 |
2) | He learns the fundamentals of computer programming, hardware and software and the basic computer concepts. | 3 |
3) | He develops algorithms according to the problems, gains the ability to distinguish the appropriate ones from the fundamental algorithms for the problem. | 3 |
4) | He understands object-oriented programming concept and web programming. | 3 |
5) | He learns radix systems, fundamental electronics and computer hardware knowledge. | 3 |
6) | He gains mobile programming skills and develops applications for mobile platforms. | 3 |
7) | He designs and codes databases. | 3 |
8) | He learns to program and use computer networks, open source operating systems. | 3 |
9) | He uses the English language effectively. | 3 |
10) | He learns to use appropriate data structures according to programming requirements. | 3 |
11) | He develops software individually or as a team. | 3 |
12) | He follows developments in the field, high technology tools / applications. | 3 |
13) | He gains awareness of professional and ethical responsibility and has an awareness of professional ethics. | 3 |
Semester Requirements | Number of Activities | Level of Contribution |
Homework Assignments | 1 | % 20 |
Midterms | 1 | % 30 |
Final | 1 | % 50 |
total | % 100 | |
PERCENTAGE OF SEMESTER WORK | % 50 | |
PERCENTAGE OF FINAL WORK | % 50 | |
total | % 100 |
Activities | Number of Activities | Preparation for the Activity | Spent for the Activity Itself | Completing the Activity Requirements | Workload | ||
Course Hours | 3 | 15 | 2 | 51 | |||
Homework Assignments | 1 | 15 | 1 | 16 | |||
Midterms | 1 | 25 | 1 | 26 | |||
Final | 1 | 30 | 1 | 31 | |||
Total Workload | 124 |