HOME INSTITUTIONAL INFORMATIONINFORMATION ON DEGREE PROGRAMMES Computer ProgrammingCERTIFICATE PROGRAMMESUSEFUL INFORMATION, RESOURCES & SERVICES FOR STUDENTSUSEFUL LINKS AND DOCUMENTSADITIONAL & SUPPORTING INFORMATION

SECTION I: GENERAL INFORMATION ABOUT THE COURSE

Course Code Course Name Year Semester Theoretical Practical Credit ECTS
50612METOZ-BLP0112 Programlama Dilleri II 0 Spring 2 1 3 6
Course Type :
Cycle: Associate      TQF-HE:5. Master`s Degree      QF-EHEA:Short Cycle      EQF-LLL:5. Master`s Degree
Language of Instruction: Turkish
Prerequisities and Co-requisities: N/A
Mode of Delivery: Face to face
Name of Coordinator: Instructor İHSAN ARVAS
Dersin Öğretim Eleman(lar)ı:

Dersin Kategorisi:

SECTION II: INTRODUCTION TO THE COURSE

Course Objectives & Content

Course Objectives: Bu dersin amacı, temel Python bilgisine sahip öğrencilerin programlama becerilerini geliştirmek, Python'da veri yapıları, dosya işlemleri, hata yönetimi, nesne tabanlı programlama (OOP) ve ileri seviye Python kütüphanelerini kullanarak kapsamlı projeler geliştirmelerini sağlamaktır.
Course Content: This course is designed for students who want to learn the Python programming language at an advanced level. The course aims to provide students with in-depth information on topics such as data structures, functions, file operations, error management and object-oriented programming (OOP) to students who have basic Python knowledge. Starting with advanced data structures, detailed operations will be performed on lists, sets, tuples and dictionaries, and effective use of data structures will be ensured. In the functions and modules section, topics such as lambda functions, creating modules and using modules will be covered. In the file operations section, focus will be on working with text files as well as CSV and JSON files, thus teaching how to process and store data. In the error management section, students will develop their error-catching and handling skills in Python using try/except blocks, and will learn to write more robust codes by creating special exception classes. The subject of object-oriented programming (OOP) will be covered in detail through concepts such as classes, inheritance structures, encapsulation and polymorphism, and students will be provided with the ability to develop object-oriented applications that can be used in the real world. In the data analysis section, data processing and analysis methods will be taught with NumPy and pandas libraries, and data visualization techniques will be discussed with matplotlib. In addition, more complex data operations will be performed with advanced Python libraries such as RegEx (Regular Expressions), itertools, collections, and datetime. Students will have the opportunity to apply the information they have acquired throughout the course by developing a project for real-world problems, and in this process, they will reinforce both their theoretical and practical skills.

Course Specific Rules

None.

Course Learning Outcomes (CLOs)

Course Learning Outcomes (CLOs) are those describing the knowledge, skills and competencies that students are expected to achieve upon successful completion of the course. In this context, Course Learning Outcomes defined for this course unit are as follows:
Knowledge (Described as Theoritical and/or Factual Knowledge.)
  1) Ability to Use Advanced Data Structures: Students will be able to perform complex data management by effectively using advanced data structures in Python, such as lists, sets, tuples, and dictionaries.
  2) Writing Functions and Modules: Students will gain the ability to increase code reusability by writing their own functions and creating modules. They will learn about lambda expressions and higher-order functions.
  3) Students will gain the ability to perform a variety of programming tasks by effectively using Python's standard libraries (e.g., math, datetime, random) and third-party libraries (e.g., NumPy, pandas, matplotlib).
Skills (Describe as Cognitive and/or Practical Skills.)
  1) Object-Oriented Programming (OOP) Applications: By understanding the concepts of class and object, students will have the ability to develop object-oriented projects by applying OOP principles such as inheritance, encapsulation and polymorphism.
Competences (Described as "Ability of the learner to apply knowledge and skills autonomously with responsibility", "Learning to learn"," Communication and social" and "Field specific" competences.)
  1) Data Analysis and Visualization: Students will be able to perform data analysis using NumPy and pandas libraries and visualize this data effectively with matplotlib.

Weekly Course Schedule

Week Subject
Materials Sharing *
Related Preparation Further Study
1) Introduction to the Course and Advanced Use of Python: Basic review and advanced data structures None. None.
2) Functions and Modules: Functions, lambda expressions, creating and using modules None None
3) File Operations: Working with text files, CSV and JSON files None. None.
4) Error Handling: Try/Except blocks and creating custom exception classes None. None.
5) Object Oriented Programming (OOP): Class creation and object structure None. None.
6) OOP: Inheritance and encapsulation techniques None. None
7) Midterm None None
8) OOP: Polymorphism and special methods (Magic Methods) None. None.
9) Data Analysis in Python I: Data processing with NumPy and pandas None None
10) Data Analysis in Python II: Data Visualization with matplotlib None None
11) Advanced Python Libraries: itertools, collections and datetime None. None.
12) Text Processing and Advanced List Operations with RegEx None. None
13) Project Work and Feedback Session None. None.
14) Project Work and Feedback Session None None
*These fields provides students with course materials for their pre- and further study before and after the course delivered.

Recommended or Required Reading & Other Learning Resources/Tools

Course Notes / Textbooks: İlgili öğretim elemanının ders notları/Lecture notes of the relevant instructor Materyal
References: İşte Python ile ilgili ileri düzey konuları kapsayan beş referans kitap:

1. "Fluent Python"
*Yazar:* Luciano Ramalho
*Yayıncı:* O'Reilly Media
*Yayın Yılı:* 2015
2. "Python Cookbook"
*Yazarlar:* David Beazley, Brian K. Jones
*Yayıncı:* O'Reilly Media
*Yayın Yılı:* 2013
3. "Learning Python"
*Yazarlar:* Mark Lutz
*Yayıncı:* O'Reilly Media
*Yayın Yılı:* 2013
4. "Python for Data Analysis"
*Yazar:* Wes McKinney
*Yayıncı:* O'Reilly Media
*Yayın Yılı:* 2018
5. "Effective Python: 59 Specific Ways to Write Better Python"
*Yazar:* Brett Slatkin
*Yayıncı:* Addison-Wesley Professional
*Yayın Yılı:* 2015

Materyal

Level of Contribution of the Course to PLOs

No Effect 1 Lowest 2 Low 3 Average 4 High 5 Highest
           
Programme Learning Outcomes Contribution Level (from 1 to 5)
1) Knows the technical and modern tools necessary for applications related to computer programming.
1) Develops programs using analytical thinking skills by using software languages. 5
1) Experiences all processes in business life.
1) Explains the basic, theoretical and practical knowledge related to the field of computer programming.
1) Knows the basic concepts in the field of information technologies. 3
1) Acquires competency of analyzing and solving the problems.
2) Performs the installation and management of computer networks.
2) Knows the techniques, tools and information technologies necessary to develop applications related to the field.
2) Knows the editors, compilers and platforms used in program development. 5
2) Defines the problems that s/he may face in the field of computer programming. 5
2) Takes part in activities related to the field of education in a business operating in the field.
2) Has awareness for ethical and social responsibility.
3) Questions the application with theoretical knowledge.
3) Takes responsibility as a team member in works and operations of his/her field.
3) Have the analytical thinking skills required by computer programming. 4
3) Performs coding using game development platforms.
3) Produces solutions by using the theoretical knowledge learned.
3) Have the necessary program information to edit the visuality of the web page and to develop the web page.
4) Is aware of written, verbal communication and interaction.
4) Gains the ability to analyze and design information systems.
4) Defines the fundamentals of programming and algorithm information. 5
4) Have knowledge about tools used for database design and management.
4) Compiles the knowledge and experience gained in the field.
4) Applies the theoretical knowledge learned in business life for a semester.
5) Follows the developments of advanced technology and digital transformation.
5) Defines the basics of web design.
5) Makes graphic design and animation applications.
5) Acquires the competencies defined as the institutional outcomes of Beykoz University on the basic level, inline with the expectations of business world and the society.
5) Knows game and mobile application development platforms.
6) Acquires the awareness for lifelong learning.
6) Realizes web design, software and programming.
6) Follows technological innovations in software and hardware.
6) Have knowledge about the basic concepts and management of computer networks.
7) Installs and manages operating systems.
7) Has awareness about citizenship competency.
8) Evaluates the developments of his/her field with the understanding of an entrepreneur.
8) Develops database applications.
9) Acquires communication in a Foreign Language (English) competence defined on the level of at least A2 in European Language Portfolio. (In programs whose medium of instruction is English, on the level of B1).
9) Learns visual and object-oriented programming. 3
10) Produces solutions to problems encountered in computer programming and develops methods to solve the problems encountered.

SECTION IV: TEACHING-LEARNING & ASSESMENT-EVALUATION METHODS OF THE COURSE

Teaching & Learning Methods of the Course

(All teaching and learning methods used at the university are managed systematically. Upon proposals of the programme units, they are assessed by the relevant academic boards and, if found appropriate, they are included among the university list. Programmes, then, choose the appropriate methods in line with their programme design from this list. Likewise, appropriate methods to be used for the course units can be chosen among those defined for the programme.)
Teaching and Learning Methods defined at the Programme Level
Teaching and Learning Methods Defined for the Course
Lectures
Problem Solving
Demonstration
Laboratory

Assessment & Evaluation Methods of the Course

(All assessment and evaluation methods used at the university are managed systematically. Upon proposals of the programme units, they are assessed by the relevant academic boards and, if found appropriate, they are included among the university list. Programmes, then, choose the appropriate methods in line with their programme design from this list. Likewise, appropriate methods to be used for the course units can be chosen among those defined for the programme.)
Aassessment and evaluation Methods defined at the Programme Level
Assessment and Evaluation Methods defined for the Course
Midterm
Final Exam
Quiz

Contribution of Assesment & Evalution Activities to Final Grade of the Course

Measurement and Evaluation Methods # of practice per semester Level of Contribution
Quizzes 2 % 20.00
Midterms 1 % 30.00
Semester Final Exam 1 % 50.00
Total % 100
PERCENTAGE OF SEMESTER WORK % 50
PERCENTAGE OF FINAL WORK % 50
Total % 100

SECTION V: WORKLOAD & ECTS CREDITS ALLOCATED FOR THE COURSE

WORKLOAD OF TEACHING & LEARNING ACTIVITIES
Teaching & Learning Activities # of Activities per semester Duration (hour) Total Workload
Course 14 1 14
Laboratory 14 2 28
Application 0 0 0
Special Course Internship (Work Placement) 0 0 0
Field Work 0 0 0
Study Hours Out of Class 0 0 0
Presentations / Seminar 0 0 0
Project 7 6 42
Homework Assignments 0 0 0
Total Workload of Teaching & Learning Activities - - 84
WORKLOAD OF ASSESMENT & EVALUATION ACTIVITIES
Assesment & Evaluation Activities # of Activities per semester Duration (hour) Total Workload
Quizzes 2 20 40
Midterms 1 15 15
Semester Final Exam 1 15 15
Total Workload of Assesment & Evaluation Activities - - 70
TOTAL WORKLOAD (Teaching & Learning + Assesment & Evaluation Activities) 154
ECTS CREDITS OF THE COURSE (Total Workload/25.5 h) 6