BIL203 Object Oriented Programming FundamentalsIstinye UniversityDegree Programs Computer Programming (Evening Education)General Information For StudentsDiploma SupplementErasmus Policy StatementNational Qualifications
Computer Programming (Evening Education)

Preview

Associate TR-NQF-HE: Level 5 QF-EHEA: Short Cycle EQF-LLL: Level 5

Course Introduction and Application Information

Course Code: BIL203
Course Name: Object Oriented Programming Fundamentals
Semester: Fall
Course Credits:
ECTS
6
Language of instruction: Turkish
Course Condition:
Does the Course Require Work Experience?: No
Type of course: Compulsory Courses
Course Level:
Associate TR-NQF-HE:5. Master`s Degree QF-EHEA:Short Cycle EQF-LLL:5. Master`s Degree
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 Objective and Content

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

Learning Outcomes

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.

Course Flow Plan

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

Sources

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 - Program Learning Outcome Relationship

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 3 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 3 3 3 3 3 3 3 3 3 3 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 2 3 2 3 1 3
9) He uses the English language effectively. 2 1 2 3 2 1 2 2 3 2 2 2 3 2 2 2
10) He learns to use appropriate data structures according to programming requirements. 3 2 3 2 3 2 3 1 2 3 3 2 1 2 3 1
11) He develops software individually or as a team. 1 3 2 2 3 3 3 3 3 3 3 3 3 2 3 2
12) He follows developments in the field, high technology tools / applications. 2 3 3 3 3 3 3 3 3 2 1 3 3 2 1 1
13) He gains awareness of professional and ethical responsibility and has an awareness of professional ethics. 2 2 3 3 2 3 3 3 3 3 3 2 2 2 3 2

Course - Learning Outcome Relationship

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. 2

Assessment & Grading

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

Workload and ECTS Credit Calculation

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