Course Detail
Course Description
Course | Code | Semester | T+P (Hour) | Credit | ECTS |
---|---|---|---|---|---|
ADVANCED PROGRAMMING | - | Spring Semester | 3+2 | 4 | 5 |
Course Program |
Prerequisites Courses | |
Recommended Elective Courses |
Language of Course | English |
Course Level | First Cycle (Bachelor's Degree) |
Course Type | Required |
Course Coordinator | Prof.Dr. Selim AKYOKUŞ |
Name of Lecturer(s) | Prof.Dr. Selim AKYOKUŞ |
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 | Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied knowledge in these areas in the solution of complex engineering problems. | X | |||||
2 | Ability to formulate, and solve complex engineering problems; ability to select and apply proper analysis and modeling methods for this purpose. | X | |||||
3 | Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the desired result; ability to apply modern design methods for this purpose. | X | |||||
4 | Ability to select and use modern techniques and tools needed for analyzing and solving complex problems encountered in engineering practice; ability to employ information technologies effectively. | X | |||||
5 | Ability to design and conduct experiments, gather data, analyze and interpret results for investigating complex engineering problems or discipline specific research questions. | X | |||||
6 | Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually. | X | |||||
7 | Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language; ability to write effective reports and comprehend written reports, prepare design and production reports, make effective presentations, and give and receive clear and intelligible instructions. | X | |||||
8 | Awareness of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself. | X | |||||
9 | Knowledge on behavior according ethical principles, professional and ethical responsibility and standards used in engineering practices. | X | |||||
10 | Knowledge about business life practices such as project management, risk management, and change management; awareness in entrepreneurship, innovation; knowledge about sustainable development. | ||||||
11 | Knowledge about the global and social effects of engineering practices on health, environment, and safety, and contemporary issues of the century reflected into the field of engineering; awareness of the legal consequences of engineering solutions. |
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 | - | Spring Semester | 3+2 | 4 | 5 |
Course Program |
Prerequisites Courses | |
Recommended Elective Courses |
Language of Course | English |
Course Level | First Cycle (Bachelor's Degree) |
Course Type | Required |
Course Coordinator | Prof.Dr. Selim AKYOKUŞ |
Name of Lecturer(s) | Prof.Dr. Selim AKYOKUŞ |
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 | Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied knowledge in these areas in the solution of complex engineering problems. | X | |||||
2 | Ability to formulate, and solve complex engineering problems; ability to select and apply proper analysis and modeling methods for this purpose. | X | |||||
3 | Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the desired result; ability to apply modern design methods for this purpose. | X | |||||
4 | Ability to select and use modern techniques and tools needed for analyzing and solving complex problems encountered in engineering practice; ability to employ information technologies effectively. | X | |||||
5 | Ability to design and conduct experiments, gather data, analyze and interpret results for investigating complex engineering problems or discipline specific research questions. | X | |||||
6 | Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually. | X | |||||
7 | Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language; ability to write effective reports and comprehend written reports, prepare design and production reports, make effective presentations, and give and receive clear and intelligible instructions. | X | |||||
8 | Awareness of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself. | X | |||||
9 | Knowledge on behavior according ethical principles, professional and ethical responsibility and standards used in engineering practices. | X | |||||
10 | Knowledge about business life practices such as project management, risk management, and change management; awareness in entrepreneurship, innovation; knowledge about sustainable development. | ||||||
11 | Knowledge about the global and social effects of engineering practices on health, environment, and safety, and contemporary issues of the century reflected into the field of engineering; awareness of the legal consequences of engineering solutions. |
Assessment Methods
Contribution Level | Absolute Evaluation | |
Rate of Midterm Exam to Success | 30 | |
Rate of Final Exam to Success | 70 | |
Total | 100 |