Prof.Dr. Selim AKYOKUŞ, Lect. Malek Jamal Abdulah MALKAWI
Assistant(s)
Aim
The objective of this course is to improve programming and problem solving capabilities and skills of students using Python with an emphasis on programming practice, efficiency and data science. Pyhton is widely used language in education, scientific computing and data science with a large number of libraries. Students will learn, design, develop and test efficient programs that take advantage of built-in libraries developed for AI and data science without having to know about complex logic and mathematics behind them. Topics include programming efficiency and analysis, study and analysis of some basic algorithms, graphical user interfaces, advanced featues of Python, Python Data Structures, Loading Datasets from Different Data Stores, Array-Oriented Programming with NumPy, High-Performance NumPy Arrays, Pandas Series and DataFrames, Regular Expressions and Data Wrangling, Time Series and Simple Linear Regression, Natural Language Processing (NLP), Web Scraping, Data Mining Twitter: Sentiment Analysis, Machine Learning: Classification, Regression and Clustering, Deep Learning Convolutional and Recurrent Neural Networks, Recommendations with Collaborative Filtering, Optimization.
Course Content
This course contains; Developing Efficient Algorithms,Analysis of Searching and Sorting Algorithms,Python Data Structures,Data Analysis and Visualization,Array-Oriented and Scientific Programming with NumPy and SciPy,Data Manipulation with Pandas,Data Loading, Storage, and File Formats;
Data Visualization,Time Series and Simple Linear Regression,Natural Language Processing (NLP), Web Scraping,Data Mining Twitter: Sentiment Analysis, JSON and Web Services,Machine Learning: Classification, Regression and Clustering,Deep Learning Convolutional and Recurrent Neural Networks,Collaborative Filtering, Making Recommendations,Optimization.
Dersin Öğrenme Kazanımları
Teaching Methods
Assessment Methods
6- Summarize, visualize and analyze data.
1 - Design, implement and test efficient programs.
2 - Improve programming skills by learning, analyzing, solving and developing program code for different problems.
3 -Learn how to design, develop and implement modular programs by using structured programming, abstract data types, classes and objects.
4 - Take advantage of capabilities of built-in and third party libraries available in many areas.
5 - Learn how to store, load, manipulate and explore data.
7 - Write programs for a wide variety problems in math, science, engineering, financials, artificial intelligence and games.
8 - Learn how to use and apply some of the machine learning, data mining, and optimization libraries on several examples.
Teaching Methods:
Assessment Methods:
Course Outline
Order
Subjects
Preliminary Work
1
Developing Efficient Algorithms
2
Analysis of Searching and Sorting Algorithms
3
Python Data Structures
4
Data Analysis and Visualization
5
Array-Oriented and Scientific Programming with NumPy and SciPy
6
Data Manipulation with Pandas
7
Data Loading, Storage, and File Formats;
Data Visualization
8
Time Series and Simple Linear Regression
9
Natural Language Processing (NLP), Web Scraping
10
Data Mining Twitter: Sentiment Analysis, JSON and Web Services
11
Machine Learning: Classification, Regression and Clustering
12
Deep Learning Convolutional and Recurrent Neural Networks
13
Collaborative Filtering, Making Recommendations
14
Optimization
Resources
Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and The Cloud, Paul Deitel, Harvey Deitel, Pearson, 2020
- Toby Segaran, Programming Collective Intelligence, O Reilly Press, 2007.
- Brad Miller and David Ranum, Luther College, Problem Solving with Algorithms and Data Structures using Python, Franklin, Beedle & Associates, 2011
Course Contribution to Program Qualifications
Course Contribution to Program Qualifications
No
Program Qualification
Contribution Level
1
2
3
4
5
1
An ability to apply knowledge of mathematics, science, and engineering
2
An ability to identify, formulate, and solve engineering problems
3
An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
4
An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice
X
5
An ability to design and conduct experiments, as well as to analyze and interpret data
6
An ability to function on multidisciplinary teams
7
An ability to communicate effectively
X
8
A recognition of the need for, and an ability to engage in life-long learning
X
9
An understanding of professional and ethical responsibility
10
A knowledge of contemporary issues
11
The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context
Assessment Methods
Contribution Level
Absolute Evaluation
Rate of Midterm Exam to Success
30
Rate of Final Exam to Success
70
Total
100
ECTS / Workload Table
Activities
Number of
Duration(Hour)
Total Workload(Hour)
Course Hours
14
3
42
Guided Problem Solving
10
4
40
Resolution of Homework Problems and Submission as a Report
6
6
36
Term Project
0
0
0
Presentation of Project / Seminar
0
0
0
Quiz
2
6
12
Midterm Exam
1
12
12
General Exam
1
20
20
Performance Task, Maintenance Plan
0
0
0
Total Workload(Hour)
162
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(162/30)
5
ECTS of the course: 30 hours of work is counted as 1 ECTS credit.
Detail Informations of the Course
Course Description
Course
Code
Semester
T+P (Hour)
Credit
ECTS
ADVANCED PROGRAMMING
EEE1212508
Spring Semester
3+2
4
5
Course Program
( A ) Cuma 17:30-18:15
( A ) Cuma 18:30-19:15
( A ) Cuma 19:30-20:15
( A ) Cumartesi 07:00-07:45
( A ) Cumartesi 08:00-08:45
( A ) Cumartesi 09:00-09:45
Prerequisites Courses
Recommended Elective Courses
Language of Course
English
Course Level
First Cycle (Bachelor's Degree)
Course Type
Elective
Course Coordinator
Prof.Dr. Selim AKYOKUŞ
Name of Lecturer(s)
Prof.Dr. Selim AKYOKUŞ, Lect. Malek Jamal Abdulah MALKAWI
Assistant(s)
Aim
The objective of this course is to improve programming and problem solving capabilities and skills of students using Python with an emphasis on programming practice, efficiency and data science. Pyhton is widely used language in education, scientific computing and data science with a large number of libraries. Students will learn, design, develop and test efficient programs that take advantage of built-in libraries developed for AI and data science without having to know about complex logic and mathematics behind them. Topics include programming efficiency and analysis, study and analysis of some basic algorithms, graphical user interfaces, advanced featues of Python, Python Data Structures, Loading Datasets from Different Data Stores, Array-Oriented Programming with NumPy, High-Performance NumPy Arrays, Pandas Series and DataFrames, Regular Expressions and Data Wrangling, Time Series and Simple Linear Regression, Natural Language Processing (NLP), Web Scraping, Data Mining Twitter: Sentiment Analysis, Machine Learning: Classification, Regression and Clustering, Deep Learning Convolutional and Recurrent Neural Networks, Recommendations with Collaborative Filtering, Optimization.
Course Content
This course contains; Developing Efficient Algorithms,Analysis of Searching and Sorting Algorithms,Python Data Structures,Data Analysis and Visualization,Array-Oriented and Scientific Programming with NumPy and SciPy,Data Manipulation with Pandas,Data Loading, Storage, and File Formats;
Data Visualization,Time Series and Simple Linear Regression,Natural Language Processing (NLP), Web Scraping,Data Mining Twitter: Sentiment Analysis, JSON and Web Services,Machine Learning: Classification, Regression and Clustering,Deep Learning Convolutional and Recurrent Neural Networks,Collaborative Filtering, Making Recommendations,Optimization.
Dersin Öğrenme Kazanımları
Teaching Methods
Assessment Methods
6- Summarize, visualize and analyze data.
1 - Design, implement and test efficient programs.
2 - Improve programming skills by learning, analyzing, solving and developing program code for different problems.
3 -Learn how to design, develop and implement modular programs by using structured programming, abstract data types, classes and objects.
4 - Take advantage of capabilities of built-in and third party libraries available in many areas.
5 - Learn how to store, load, manipulate and explore data.
7 - Write programs for a wide variety problems in math, science, engineering, financials, artificial intelligence and games.
8 - Learn how to use and apply some of the machine learning, data mining, and optimization libraries on several examples.
Teaching Methods:
Assessment Methods:
Course Outline
Order
Subjects
Preliminary Work
1
Developing Efficient Algorithms
2
Analysis of Searching and Sorting Algorithms
3
Python Data Structures
4
Data Analysis and Visualization
5
Array-Oriented and Scientific Programming with NumPy and SciPy
6
Data Manipulation with Pandas
7
Data Loading, Storage, and File Formats;
Data Visualization
8
Time Series and Simple Linear Regression
9
Natural Language Processing (NLP), Web Scraping
10
Data Mining Twitter: Sentiment Analysis, JSON and Web Services
11
Machine Learning: Classification, Regression and Clustering
12
Deep Learning Convolutional and Recurrent Neural Networks
13
Collaborative Filtering, Making Recommendations
14
Optimization
Resources
Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and The Cloud, Paul Deitel, Harvey Deitel, Pearson, 2020
- Toby Segaran, Programming Collective Intelligence, O Reilly Press, 2007.
- Brad Miller and David Ranum, Luther College, Problem Solving with Algorithms and Data Structures using Python, Franklin, Beedle & Associates, 2011
Course Contribution to Program Qualifications
Course Contribution to Program Qualifications
No
Program Qualification
Contribution Level
1
2
3
4
5
1
An ability to apply knowledge of mathematics, science, and engineering
2
An ability to identify, formulate, and solve engineering problems
3
An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
4
An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice
X
5
An ability to design and conduct experiments, as well as to analyze and interpret data
6
An ability to function on multidisciplinary teams
7
An ability to communicate effectively
X
8
A recognition of the need for, and an ability to engage in life-long learning
X
9
An understanding of professional and ethical responsibility
10
A knowledge of contemporary issues
11
The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context