Advanced Programming Methods
General
-
This course takes place in the third semester of the Computer Science program (in English).
-
The schedule can be found here.
-
The MS Teams code for this course is: abcd1234 .
Course objectives
-
Understand and apply advanced Java features like multithreading, lambdas, streams, generics
-
Demonstrate the ability to incorporate these concepts into practical programming scenarios
-
Introduce modular design, code organization, and code reusability
-
Apply advanced object-oriented programming principles (inheritance, polymorphism, encapsulation, and abstraction)
Examination and Grading
-
Lab Assignments 30%
-
There will be 4 lab assignments; the lab activity grade is the average of the individual assignments grade.
-
The minimum average grade for the lab activity is 5.00.
-
Seminary Activity 20%
-
During each seminary, you will participate in a Moodle quiz; the seminary activity grade is the average of the scores obtained in these quizes.
-
Final Exam 50%
-
The final exam will be taken during the regular session.
-
It will asses the understanding of course materials, problem-solving skills and the ability to apply programming principles.
-
The minimum grade for the final exam is 5.00.
-
Active participation and knowledge sharing during class is the opportunity to earn bonus points. The bonus points are added directly to the final grade. One student can earn at most 0.5 bonus points.
-
The minimum final grade is 5.00.
Course Materials
References and Useful Links
-
Bruce Eckel - Thinking in Java
(Download Link) -
Brian Goetz - Java Concurrency in Practice
(Download Link) -
Java Official Tutorials, 2020
(Link Here) -
Java 15 Official Documentation, 2020
(Link Here)