Skip to main content

Course Detail

Course Description

CourseCodeSemesterT+P (Hour)CreditECTS
ADVANCED PROGRAMMING-Spring Semester3+245
Course Program
Prerequisites Courses
Recommended Elective Courses
Language of CourseEnglish
Course LevelFirst Cycle (Bachelor's Degree)
Course TypeElective
Course CoordinatorProf.Dr. Selim AKYOKUŞ
Name of Lecturer(s)Prof.Dr. Selim AKYOKUŞ
Assistant(s)
AimThe 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 ContentThis 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 MethodsAssessment 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

OrderSubjectsPreliminary Work
1Developing Efficient Algorithms
2Analysis of Searching and Sorting Algorithms
3Python Data Structures
4Data Analysis and Visualization
5Array-Oriented and Scientific Programming with NumPy and SciPy
6Data Manipulation with Pandas
7Data Loading, Storage, and File Formats;
Data Visualization
8Time Series and Simple Linear Regression
9Natural Language Processing (NLP), Web Scraping
10Data Mining Twitter: Sentiment Analysis, JSON and Web Services
11Machine Learning: Classification, Regression and Clustering
12Deep Learning Convolutional and Recurrent Neural Networks
13Collaborative Filtering, Making Recommendations
14Optimization
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
NoProgram QualificationContribution Level
12345
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 LevelAbsolute Evaluation
Rate of Midterm Exam to Success 30
Rate of Final Exam to Success 70
Total 100
ECTS / Workload Table
ActivitiesNumber ofDuration(Hour)Total Workload(Hour)
Course Hours14342
Guided Problem Solving10440
Resolution of Homework Problems and Submission as a Report6636
Term Project000
Presentation of Project / Seminar000
Quiz2612
Midterm Exam11212
General Exam12020
Performance Task, Maintenance Plan000
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

CourseCodeSemesterT+P (Hour)CreditECTS
ADVANCED PROGRAMMING-Spring Semester3+245
Course Program
Prerequisites Courses
Recommended Elective Courses
Language of CourseEnglish
Course LevelFirst Cycle (Bachelor's Degree)
Course TypeElective
Course CoordinatorProf.Dr. Selim AKYOKUŞ
Name of Lecturer(s)Prof.Dr. Selim AKYOKUŞ
Assistant(s)
AimThe 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 ContentThis 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 MethodsAssessment 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

OrderSubjectsPreliminary Work
1Developing Efficient Algorithms
2Analysis of Searching and Sorting Algorithms
3Python Data Structures
4Data Analysis and Visualization
5Array-Oriented and Scientific Programming with NumPy and SciPy
6Data Manipulation with Pandas
7Data Loading, Storage, and File Formats;
Data Visualization
8Time Series and Simple Linear Regression
9Natural Language Processing (NLP), Web Scraping
10Data Mining Twitter: Sentiment Analysis, JSON and Web Services
11Machine Learning: Classification, Regression and Clustering
12Deep Learning Convolutional and Recurrent Neural Networks
13Collaborative Filtering, Making Recommendations
14Optimization
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
NoProgram QualificationContribution Level
12345
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 LevelAbsolute Evaluation
Rate of Midterm Exam to Success 30
Rate of Final Exam to Success 70
Total 100

Numerical Data

Student Success

Ekleme Tarihi: 09/10/2023 - 10:37Son Güncelleme Tarihi: 09/10/2023 - 10:37