PROGRAMMING LANGUAGES
- Course
- ITEC501 - PROGRAMMING LANGUAGES
- Department
- Information Technologies - English - Master
- Course Type
- Course
- Status
- Required
- Language
- English
- Credit
- 3
- ECTS
- 8
- T+P+L
- 3 + 0 + 0
- Course Coordinator(s)
- -
- Prerequisite
- -
- Keywords
Course Description
This course is designed to equip students with advanced programming skills and a deep understanding of Object-Oriented Methodology. Students will gain expertise in topics such as threads, sockets, XML parsers, collections, and database operations. The course emphasizes practical implementation through the use of Java programming language and development tools like the Eclipse IDE. Key topics include advanced concepts in Object-Oriented Programming (OOP), graphical user interface (GUI) development with Swing, multithreading, synchronization mechanisms (threads, semaphores, and mutex), file handling (text, binary, and random access files), and class serialization. Additionally, the course covers design patterns, debugging techniques, and socket programming, preparing students for real-world application development. By the end of the course, students are expected to create robust and scalable Java applications, leveraging advanced programming concepts and tools for efficient software development.
PROGRAMMING LANGUAGES
Evaluation Tools (Active Term)
No evaluation items have been defined.
Course outcomes
- 01 Design and develop software using object oriented design and programming methods
- 02 Practice UML Class diagrams to effectively create object oriented design models
- 03 Using persistency and database features alongside with programming
- 04 Using advanced features such as XML Parsing and Text file processes with programming langauges
- 05 Practice Parallel programming features such as threats and objects
- 06 Practice the fundamentals of Network and Socket Programming
Course Syllabus
| Week | Topic |
|---|---|
| Week 1 | An Introduction to the Course content, Outline and an IceBreaker |
| Week 2 | Recap of programming Knowledge: Swing Library, Decision Making, Loops, Arrays |
| Week 3 | Recap of programming Knowledge: GUI Components |
| Week 4 | Recap of programming Knowledge: Advanced GUI Components |
| Week 5 | Recap of programming Knowledge: Object and Classes, UML Class Diagrams, Object Orıented design and development. |
| Week 6 | Recap of programming Knowledge: Inheritance, Abstract Classes, Interfaces and Polymorphism |
| Week 7 | Collections in Advanced Programming: Sets, Lists and Queue |
| Week 8 | Midterm Exam |
| Week 9 | Database Connections (Apache Derby - JDBC): Select, Insert, Delete, Update operations. |
| Week 10 | Database Connections : JTable and constructing object oriented 3-tier Architecture model |
| Week 11 | Files in Advanced Programming |
| Week 12 | XML Files, XML Parsing |
| Week 13 | Multi-threading |
| Week 14 | Revision |
| Week 15 | Final Exam |
Reference Books & Course Materials
- 01 Java: The Complete Reference, Ninth Edition, 2016
- 02 Java: A Beginner's Guide, Sixth Edition, 2014
Learning Outcomes
- L01 Design and develop software using object oriented design and programming methods
- L02 Practice UML Class diagrams to effectively create object oriented design models
- L03 Using persistency and database features alongside with programming
- L04 Using advanced features such as XML Parsing and Text file processes with programming langauges
- L05 Practice Parallel programming features such as threats and objects
- L06 Practice the fundamentals of Network and Socket Programming
Program Outcomes
No program outcomes have been defined.
Po-Lo Matrix
The PO-LO matrix has not been populated yet.