You are on page 1of 2

ADA University, School of IT and Engineering

CSCI 1202: Programming Principles II


CRN: 20187

Tuesday, 10:00 - 11:15 JOINT LECTURE


Wednesday, 14:45 - 16:00 SEMINAR

Instructors: Mykhailo Medvediev (lecture only), Ismayil Hasanov


Email: ihasanov@ada.edu.az
Office: ONLINE
Office Hours: Tuesday & Friday, 18:00 - 19:00

Course Description

The course is about learning how to program computers to accomplish complex tasks and break-
down a complex task into simpler ones using the JAVA Programming language. The course covers
very important aspects of modern OOP (Object-Oriented Programming). In general, the course will
begin with quickly introducing declaring of variables, logical statements, loops, arrays, methods;
then more advanced topics like objects, classes, inheritance, polymorphism, file I/O, exceptions, etc.

Prerequisite(s): CSCI 1202: Programming Principle I


Credits: 6
References
1. Herbert Schildt, (2018), Java: A Beginner’s Guide, Eighth Edition

2. Herbert Schildt, (2018), Java: The Complete Reference, Eleventh Edition

Course Format and Objectives


This course applies a semi-flipped classroom model. In a flipped classroom, traditional face-to-face
lectures are prerecorded and delivered online as a homework. Then, the class meets to do activities,
including those that may have traditionally been considered homework, in the classroom.
The class will meet in two 75 minutes sessions per week. On Tuesday, all the sections will come
together for a face-to-face joint lecture. On Wednesday, the class will do in-class activities.
Upon completion of this course students should:

1. Understand the syntax of the Java programming language


2. Understand the basic concepts and principles of structured and object-oriented programming
3. Be able to design, write and test a Java program to implement a working solution to a given
problem specification
4. Develop client-server applications using sockets
5. Process data using file operations and collections
6. Understand generics, annotations and lambda functions
7. Be familiar with data serialization, threads and concurrency

1
Grades and evaluation

Students are assessed on a combination of in-class quizzes, in-class assignments, a midterm and a
final exam. The overall assessment of students will be divided as follows:

In-class quiz (6%) x 5 30%


In-class assignment (6%) x 5 30%
Midterm Exam 20%
Final Exam 20%

Academic Honesty Policy

You can find the ADA Honor Code and ADA Student Code of Conduct under following link:
https://www.ada.edu.az/en/policies

Personal Policy

Focus on the learning aspect of the course, NOT the grading. Grades will come for those who are
showing effort. If I suspect the slightest dishonesty, I can guarantee that I will fail you.

Course Outline

The weekly coverage might change as it depends on the progress of the class. However, the topics
below are final:

Topics
• Introduction to Java
• Primitive types, operators, casting
• Conditionals, loops
• Classes, objects, this keyword
• Arrays, strings, data types
• Encapsulation
• Inheritance
• Polymorphism
• Abstraction
• Interfaces
• Exceptions
• Streams
• File I/O
• Collections
• Generics
• Parallelism & threads
• Nested, inner and anonymous classes
• Lambda expressions
• Additional topics like enums, autoboxing, annotations, reflections, regexs

You might also like