Course
CEE1212508
ADVANCED PROGRAMMING
Civil Engineering
- LECTURE
- 3
- LAB
- 2
- CREDITS
- 4
- ECTS
- 5
REQUIRES
REQUIRED BY
None
TAUGHT IN
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.
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.
LEARNING OUTCOMES
- 1
6- Summarize, visualize and analyze data.
- 2
1 - Design, implement and test efficient programs.
- 3
2 - Improve programming skills by learning, analyzing, solving and developing program code for different problems.
- 4
3 -Learn how to design, develop and implement modular programs by using structured programming, abstract data types, classes and objects.
- 5
4 - Take advantage of capabilities of built-in and third party libraries available in many areas.
- 6
5 - Learn how to store, load, manipulate and explore data.
- 7
7 - Write programs for a wide variety problems in math, science, engineering, financials, artificial intelligence and games.
- 8
8 - Learn how to use and apply some of the machine learning, data mining, and optimization libraries on several examples.
WEEKLY PLAN
- WEEK 1
Developing Efficient Algorithms
- WEEK 2
Analysis of Searching and Sorting Algorithms
- WEEK 3
Python Data Structures
- WEEK 4
Data Analysis and Visualization
- WEEK 5
Array-Oriented and Scientific Programming with NumPy and SciPy
- WEEK 6
Data Manipulation with Pandas
- WEEK 7
Data Loading, Storage, and File Formats; Data Visualization
- WEEK 8
Time Series and Simple Linear Regression
- WEEK 9
Natural Language Processing (NLP), Web Scraping
- WEEK 10
Data Mining Twitter: Sentiment Analysis, JSON and Web Services
- WEEK 11
Machine Learning: Classification, Regression and Clustering
- WEEK 12
Deep Learning Convolutional and Recurrent Neural Networks
- WEEK 13
Collaborative Filtering, Making Recommendations
- WEEK 14
Optimization
ASSESSMENT
- Rate of Midterm Exam to Success30%
- Rate of Final Exam to Success70%
WORKLOAD
| ACTIVITY | COUNT | HOURS | TOTAL |
|---|---|---|---|
| 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 |
READING
- 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
TEACHING STAFF
- Prof.Dr. Selim AKYOKUŞCOORDINATOR
- Prof.Dr. Selim AKYOKUŞ
- Malik GEYLANİ