NETB406 Програмиране на Java

Анотация:

The syntax of the Java programming language and the concepts of creating object-oriented software products are learned in course NETB406 Programming in Java. The course is divided into theoretical and practical part. The theoretical part of the course includes description of the syntax and semantics of the basic programming structures in Java programming language. The main approaches for developing flexible and easy to maintain OO software solutions are discussed in this part of the course. Concrete tasks in different contexts with a variety of examples are solved in the practical part of the course.

прочети още
Мрежови технологии (на английски език)

Преподавател(и):

гл. ас. Христина Костадинова  д-р

Описание на курса:

Компетенции:

At the end of the course, if students complete successfully, they will be able to:

• Develop object-oriented software projects using Java.

• Use and implement exception handling in software projects.

• Manipulate string with the means of regular expressions.

• Choose the most appropriate collection of elements and manipulate its elements.

• Obey the principles of writing flexible and easily extensible software projects.


Предварителни изисквания:
Students have to know basic concepts of a programming with any programming language and how object-oriented projects are created.

Форми на провеждане:
Редовен

Учебни форми:
Лекция

Език, на който се води курса:
Английски

Теми, които се разглеждат в курса:

  1. Introduction to Java. Primitive Data Types. Operators. Control Statements: if, switch, while, do-while, for, break, and continue. Classes and objects in Java – Part 1. OOP. Data-members and Methods. Constructors. Keywords: this, final, and static.
  2. Classes and Objects in Java – Part 2. Inheritance and Polymorphism. Using super. Methods Overriding.
  3. Abstract Classes. Interfaces. Packages.
  4. Arrays in Java. Enumeration (Enum). Source Control.
  5. Build Tools. Unit Testing.
  6. Exception Handling. Input and Output in Java. Serialization.
  7. String, StringBuffer and StringBuilder.
  8. Regular Expressions.
  9. SOLID Principles.
  10. Generics. Comparable. Comparator. Methods equals() and hashCode()
  11. Collections Framework in Java. List. Queue.
  12. Collections Framework in Java. Set. Map.
  13. Collections Framework in Java. Lambda and Stream API.
  14. Design Patterns.
  15. Theoretical Quiz and Project Presentation.

Литература по темите:

1. Herbert Schildt, Danny Coward, Java: The Complete Reference, Thirteenth Edition 13th Edition, McGraw Hill, 2024

2. Joshua Bloch, Effective Java 3rd Edition, 2018

3. Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft Modern Java in Action: Lambdas, Streams, Functional and Reactive Programming 2nd Edition, Manning, 2018

4. Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra, Head First Design Patterns: A Brain-Friendly Guide, O'Reilly Media, Inc., 2004

5. Alexander Shwets, Dive into Design Patterns, 2024