• Türkçe
  • English
Course Code: 
COMP 303
Course Period: 
Autumn
Course Type: 
Core
P: 
3
Lab: 
0
Credits: 
3
ECTS: 
5
Course Language: 
İngilizce
Course Objectives: 
Objective of this course to introduce some of the advance topics where programming language is commonly used in real life applications. At the end of this course, you will learn to code python topics such as socket-programming, database operations (SQL and NOSQL), web programming, applications of data-mining technics and some methods of machine learning (at some points deep learning).
Course Content: 

Overview of scripting languages. Study of Python language in depth. Discussion of supported libraries. Applications to system administration, networking, databas applcaitons, socket-programming, advance concept in python.

Course Methodology: 
Lecture, 2: Question-Answer, 3: Discussion, 4: Simulation, 5: Case Study
Course Evaluation Methods: 
A: Testing, B: Presentation, C: Homework, D: Project, E: Laboratory

Vertical Tabs

Course Learning Outcomes

Learning Outcomes Program Learning Outcomes Teaching Methods Assessment Methods
Write, debug, and run a program given a problem description. 2,4,6 1,5 C,E
Install and use extra software libraries as needed by the task. 2,4,6 1,2 C, E
Perform system administration tasks with scripts. 2,4,6 1,2,5 A,E
Learning basic ML libraries 2,4,6 1,2,3 A, C
Do research about scripting languages and assess their relative merits. 2,4,6 1,3 B, D
Complete a programming project. 2,4,6 4, 5 B,D

Course Flow

COURSE CONTENT
Week Topics Study Materials
1 Introduction to Course

+ Data Structures and Algorithms

Lecture Notes
2 Data Encoding and Processing  Lecture Notes
3 Concurrency (Threating in Python) Lecture Notes
4 Metaprogramming (decorators, class decorators, and metaclasses Lecture Notes
5 Socket Programming with Python Lecture Notes
6 . Database Programming with Python Lecture Notes
7   Web Scraping with Python Lecture Notes
8 Midterm Examination  
9 Scientific and Numeric Applications in Python Lecture Notes
10 . Data Science Applications in Python Part 1 Lecture Notes
11 . Data Science Applications in Python Part 2 Lecture Notes
12 Introduction to Machine Learning with Python Part 1 Lecture Notes
13 Introduction to Machine Learning with Python Part 2 Lecture Notes
14 Project Presentatons  
15 Final  

Recommended Sources

RECOMMENDED SOURCES
Textbook Michał Jaworski and Tarek Ziadé, Expert Python Programming Third Edition, Packt Publishing, 2019.

Luciano Ramalho, Fluent Python: Clear, Concise, and Effective Programming, O'Reilly Media, Inc.,2015.

David Beazley, Brian K. Jones, Python Cookbook, 3rd Edition, O'Reilly Media,2013.

Additional Resources Online reference material at python.org

Material Sharing

MATERYAL PAYLAŞIMI
Belgeler Ders Konuları için Yönergeler ve ek örnekler
Ödevler Ev Ödevleri
Sınavlar Ara Sınav ve Final Sınavı

Assessment

ASSESSMENT
IN-TERM STUDIES NUMBER PERCENTAGE
Homework assignment 10 50
Project presentation 1 30
Midterm Examination 1 20
Total   100
CONTRIBUTION OF FINAL EXAMINATION TO OVERALL GRADE   40
CONTRIBUTION OF IN-TERM STUDIES TO OVERALL GRADE   60
Total   100

ECTS

ECTS ALLOCATED BASED ON STUDENT WORKLOAD BY THE COURSE DESCRIPTION
Activities Quantity Duration
(Hour)
Total
Workload
(Hour)
Course Duration (Including the exam week: 16x Total course hours) 15 3 45
Hours for off-the-classroom study (Pre-study, practice) 15 3 45
Homework 10 2 20
Midterm Examination 1 2 2
Preparation of class presentation 1 13 13
      0
Total Work Load     125
Total Work Load / 25 (h)     5,00
ECTS Credit of the Course     5
3