BIM201 Advanced Programming with PythonIstinye UniversityDegree Programs Computer EngineeringGeneral Information For StudentsDiploma SupplementErasmus Policy StatementNational Qualifications
Computer Engineering

Preview

Bachelor TR-NQF-HE: Level 6 QF-EHEA: First Cycle EQF-LLL: Level 6

Course Introduction and Application Information

Course Code: BIM201
Course Name: Advanced Programming with Python
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:
Bachelor TR-NQF-HE:6. Master`s Degree QF-EHEA:First Cycle EQF-LLL:6. Master`s Degree
Mode of Delivery: Face to face
Course Coordinator: Dr. Öğr. Üy. WADHAH ZEYAD TAREQ TAREQ
Course Lecturer(s): Asst. Prof. Wadhah Zeyad Tareq Tareq
Course Assistants:

Course Objective and Content

Course Objectives: This course aims to introduce the student to the Python programming language and help the student gain effective scientific calculations by using different Python libraries. This course will build on students' existing programming knowledge, including more object-oriented design principles and techniques for visualization, web, game, or application programming.
Course Content: Course content; Objects, conditional statements, loops, functions, Python data structures, Classes, Recursion concept, Iterators, Generators and Decorators, Visual interface design in Python.

Learning Outcomes

The students who have succeeded in this course;
1) Define basic programming concepts.
2) Gains knowledge of Class structures and inheritance.
3) Gain knowledge of basic descriptive statistical methods.
4) Learns about Recursion, Repetition, and Dictionaries.
5) Implements visual interfaces (GUI) in the Python programming language.

Course Flow Plan

Week Subject Related Preparation
1) Introduction to Computers and Programming Yok
2) Simple data types, constants, variables, identifiers, arithmetic operators Yok
3) Conditional structures, relational and logical operators Yok
4) Repetition Structures Yok
5) Functions Yok
6) Files and Exceptions Yok
7) Lists and Tuples Yok
8) Midterm Exam Yok
9) Strings, string functions Yok
10) Dictionaries Yok
11) Classes and Object-Oriented Programming Yok
12) Inheritance Yok
13) Recursion Yok
14) GUI Programming Yok

Sources

Course Notes / Textbooks: Tony Gaddis, "Starting out With Python", 4th edition, Pearson"
References: https://www.coursera.org/specializations/python

Course - Program Learning Outcome Relationship

Course Learning Outcomes

1

2

3

4

5

Program Outcomes
1) Adequate knowledge in mathematics, science, and computer engineering principles, both theoretical and practical, and the ability to apply this knowledge to complex engineering problems
2) To act in accordance with ethical principles, professional and ethical responsibility; information on the standards used in engineering applications.
3) Information on business practices such as project management, risk management and change management; awareness of entrepreneurship and innovation; information about sustainable development.
4) Knowledge of the effects of computer engineering practices on health, environment and safety in the universal and social scale and the problems of the era reflected in computer engineering; awareness of the legal consequences of computer engineering solutions.
5) Ability to identify, formulate, and solve complex computer engineering problems using appropriate analysis and modeling techniques.
6) Ability to design and develop complex computer systems, devices, or products that meet specific requirements and operate under realistic constraints and conditions, using modern design methods.
7) Ability to communicate effectively orally and in writing; knowledge of at least one foreign language; ability to write effective reports and understand written reports, to prepare design and production reports, to make effective presentations, to give and receive clear and understandable instructions.
8) Awareness of the necessity of lifelong learning; ability to access information, to follow developments in science and technology and to renew continuously.
9) Ability to develop, select and use modern techniques and tools used for the analysis and solution of complex computer engineering problems, and the ability to use information technologies effectively.
10) Ability to plan and conduct experiments, collect and analyze data, and interpret results in the study of complex computer engineering problems or research topics.
11) Ability to work effectively within and multidisciplinary teams; individual study skills.

Course - Learning Outcome Relationship

No Effect 1 Lowest 2 Average 3 Highest
       
Program Outcomes Level of Contribution
1) Adequate knowledge in mathematics, science, and computer engineering principles, both theoretical and practical, and the ability to apply this knowledge to complex engineering problems 3
2) To act in accordance with ethical principles, professional and ethical responsibility; information on the standards used in engineering applications.
3) Information on business practices such as project management, risk management and change management; awareness of entrepreneurship and innovation; information about sustainable development.
4) Knowledge of the effects of computer engineering practices on health, environment and safety in the universal and social scale and the problems of the era reflected in computer engineering; awareness of the legal consequences of computer engineering solutions.
5) Ability to identify, formulate, and solve complex computer engineering problems using appropriate analysis and modeling techniques.
6) Ability to design and develop complex computer systems, devices, or products that meet specific requirements and operate under realistic constraints and conditions, using modern design methods.
7) Ability to communicate effectively orally and in writing; knowledge of at least one foreign language; ability to write effective reports and understand written reports, to prepare design and production reports, to make effective presentations, to give and receive clear and understandable instructions.
8) Awareness of the necessity of lifelong learning; ability to access information, to follow developments in science and technology and to renew continuously.
9) Ability to develop, select and use modern techniques and tools used for the analysis and solution of complex computer engineering problems, and the ability to use information technologies effectively.
10) Ability to plan and conduct experiments, collect and analyze data, and interpret results in the study of complex computer engineering problems or research topics.
11) Ability to work effectively within and multidisciplinary teams; individual study skills.

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Homework Assignments 2 % 20
Project 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 Workload
Course Hours 14 28
Laboratory 14 28
Application 14 14
Study Hours Out of Class 14 28
Project 14 14
Homework Assignments 14 14
Quizzes 14 14
Midterms 1 2
Final 1 2
Total Workload 144