
Department of Mathematical Sciences
Course Description
This course introduces the fundamentals of computer programming using the Java programming language. We cover all basic syntax of Java with object-oriented programming principles.
Class Time and Location
- Sunday and Tuesday 10:30-12:30 AM, Wednesday 1:00-3:00 PM.
The class is held virtually in VClass.
Presentation Team
Assistants |
Helia Niaparast Diba Hashemi AmirMohammad Sadat MohammadMehdi Zare Hossein Rahmani Erfan Mousavian MohammadAli Olama Matin Ansaripour Mobin Madani Kasra Khoshjoo Ali Shafiei Mohammad Torabi Nima Khodaveisi Ali Tavassoli Benyamin Beyzaie |
helia79yaz@gmail.com helianiaparast@gmail.com diba.hashemi@gmail.com sam.sadat.shokouhi@gmail.com zaremohammadmehdi2001@gmail.com rahmani.hossein1380@gmail.com erfan_mousavian1380@yahoo.com rastegar123456789@gmail.com matinansaripour@gmail.com mobinmadani8@gmail.com kasrakhoshjoo@gmail.com shafieiali42@gmail.com muht2035@gmail.com nima10khodaveisi@gmail.com tavassolyali@gmail.com benyamin137928@gmail.com |
Lectures
-
Lecture 1:
Sunday 1399/8/18
Course description Introduction to Hardware
-
Lecture 2:
Tuesday 1399/8/20
Introduction to Software Representation of data in binary
- Class Video
- Software Slide
- References:
-
Lecture 3:
Wednesday 1399/8/21
Machine language, High level programming language Compiler & Interpreter Hello World! How to run a java application using commandline
- Class Video 1
- Video 2
- Software Slide
- References:
-
Lecture 4:
Sunday 1399/8/25
Primitive data types Declare variable Java Math class
-
Lecture 5:
Tuesday 1399/8/27
Conditioning Loop
-
Lecture 6:
Wednesday 1399/8/28
String Array
-
Lecture 7:
Sunday 1399/9/2
String functions Scanner
-
Lecture 8:
Tuesday 1399/9/4
loop examples
-
Lecture 9:
Wednesday 1399/9/5
loop examples
-
Lecture 10:
Sunday 1399/9/9
Break 2d Array
-
Lecture 11:
Tuesday 1399/9/11
Function
-
Lecture 12:
Wednesday 1399/9/12
Set List
-
Lecture 13:
Sunday 1399/9/16
Map list (graph)
-
Lecture 14:
Tuesday 1399/9/18
BFS Recursive
-
Lecture 15:
Wednesday 1399/9/19
Recursive
-
Lecture 16:
Sunday 1399/9/23
Recursive
-
Lecture 17:
Tuesday 1399/9/25
Recursive
-
Lecture 18:
Wednesday 1399/9/26
switch case do while Random File
-
Lecture 19:
Sunday 1399/9/30
Introduction to object oriented programming Class Field Constructor
-
Lecture 20:
Tuesday 1399/10/2
Method, static method Field, static field Final
-
Lecture 21:
Wednesday 1399/10/3
import Package toString
-
Lecture 22:
Sunday 1399/10/7
Midterm exam
-
Lecture 23:
Tuesday 1399/10/9
Access modifier - private setter - getter
-
Lecture 24:
Wednesday 1399/10/10
Access modifier Inheritance
-
Lecture 25:
Sunday 1399/10/14
abstract (method, class) override final (variable, method, class)
-
Lecture 26:
Tuesday 1399/10/16
Interface
-
Lecture 27:
Wednesday 1399/10/17
Exception Handling try catch finally throw throws
Assignments
-
Designers:
- Helia Niaparast
- AmirMohammad Sadat
- Erfan Mousavian
- Kasra Khoshjoo
- Mohammad Torabi
- Helia Niaparast
-
Homework Series:
* HW0 (Hi-Programming Homework)- Release: Sunday 1399/8/25, 15:00 PM
- Deadline: Wednesday 1399/9/12, 13:00 PM
- Grade: 7 points
- Problems
* HW1- Release: Wednesday 1399/8/28, 15:00 PM
- Deadline: Wednesday 1399/9/12, 13:00 PM
- Grade: 38 points
- Problems
- Solution
* HW2- Release: Wednesday 1399/9/12, 15:00 PM
- Deadline: Wednesday 1399/9/19, 13:00 PM
- Grade: 24 points
- Problems
* HW3- Release: Wednesday 1399/9/19, 15:00 PM
- Deadline: Friday 1399/9/28, 24:00 PM
- Grade: 27 points
- Problems
* HW4- Release: Wednesday 1399/9/26, 15:00 PM
- Deadline: Saturday 1399/10/6, 24:00 PM
- Grade: 40 points
- Problems
To ask your questions about this homework, please refer to Quera.
To upload your answers, please refer to Quera.
Warm-up Questions
To ask your questions about this homework, please refer to Quera or TA Classes according to the time schedule.
Project
-
BP WARS: Snakes & ladders

TA Classes
TA classes will help to answer weekly assignments that have no grades.
- Helia Yazdanyar
- Diba Hashemi
- MohammadMehdi Zare
- Hossein Rahmani
- MohammadAli Olama
- Matin Ansaripour
- Mobin Madani
- Kasra Khoshjoo
- Ali Shafiei
- Mohammad Torabi
- Nima Khodaveisi
- Ali Tavassoli
- Benyamin Beyzaie
Grading
- Assignments – 35%
There will be 4 homework series sets that release each week.
- Project – 25%
After the first month, we define a project. Each week, we add more tasks to it. Please note that the project is mandatory, and you have to present it live.
- Midterm Exam – 20%
Wednesday 1399/10/7, 10:30 AM.
- Final Exam – 20%
Sunday 1399/11/12, 9:00 AM. Further details will be announced later.
- There are also weekly assignments with no grade, but we strongly advise you to do them and ask your questions, if any.
App and Tools
- Java JDK (Please download JDK 8.)
- IntelliJ IDEA (Please download Community version.)
- Installation guide video
Contact
If you have any questions about the course, please send an email to bp.fall2020@gmail.com .