This repository contains the materials, projects, exercises, and resources for the Advanced Programming course offered at Shahid Beheshti University.
The Advanced Programming course is a core subject for undergraduate computer engineering students. It aims to enhance students' understanding of object-oriented programming, collections, file handling, exceptions, and practical coding skills through hands-on assignments and projects.
This course is taught by Dr. Mojtaba Vahidi-Asl, Associate Professor at the Department of Computer Engineering, Shahid Beheshti University.
Google Scholar: Dr. Vahidi-Asl on Google Scholar
Fall1403/
– Course materials, assignments from the Fall 1403 semesterSpring1404/
– Materials and projects from the Spring 1404 semester
- Object-Oriented Programming (OOP)
- Inheritance and Polymorphism
- Collections (Lists, Maps, Sets)
- File I/O
- Exception Handling
- Interfaces and Abstract Classes
- Multi-threading
- Server Socket Programming
- Regex
- Design Patterns
- Clean Code
- Unit Testing
- Reflection & Generic
- Working with Git and GitHub
- Final Project: Flutter application | Unity game
This repository and its educational content were made possible thanks to the valuable contributions and dedication of our Teaching Assistants. Their efforts in preparing materials, organizing content, and supporting the learning experience played a crucial role in shaping and completing this resource.
Thanks to Aras Valizadeh for leading the TA team with responsibility and care.
We are also grateful to the following individuals (in alphabetical) for their commitment to the development and success of this repository:
- Samira Ahmadnejad Sharamin (Project Team Lead)
- Ghaem Aliabadi
- Arman Asadi
- Amirhossein Ashrafian
- Zahra Azizi
- Nila Chenari
- Razieh Delavari
- Nazanin Foroutan
- Amir Ghaemi
- AmirMohammad Ganji Zadeh
- Shayan Haghighat
- Ehsan Habib Agahi
- Parsa Hamzehei
- Mohammad Hosseini
- Mehdi Karimi
- Armita Kamari
- AmirMahdi Mashaikhi
- Amir Shayan Moghaddas
- Seyed Sadra Mousavi (Workshop Lead)
- Erfan Rafei (Game Team Lead)
- Zahra Roshani
- Kimia Rouhanifar
- Aria Sedigh
- Mehrsa Samizadeh (Exercise Design Lead)
- Aria Shako
- Sara Shiri
- Sahar Shah-Rajabian
- Rouzbeh Soltani
- Amirhossein Sadr
- Nazanin Zahra Farhanj
- Borna Maherani (Exercise Design Lead)
- Aria Zaryab
- AmirAli Vakili
- AmirReza Yazdan Panah
Thank you all for your hard work, collaboration, and for helping to create an effective learning environment for everyone involved.