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
- Demonstrate advanced knowledge of core concepts and theoretical frameworks in Management Information Systems, and apply them to develop innovative models that reflect current advancements in the field.
- Analyze complex organizational problems and design integrated information systems solutions by applying advanced MIS knowledge and synthesizing multiple theoretical perspectives.
- Develop and manage database systems and data-driven applications that ensure effective storage, retrieval, and use of organizational data in real-world contexts.
- Utilize data analytics, business intelligence tools, and data visualization techniques to extract actionable insights and support strategic, data-driven decision-making.
- Evaluate and apply emerging technologies such as AI, IoT, and Blockchain to drive digital transformation, enhance organizational performance, and formulate original research inquiries.
- Conduct independent and collaborative research using appropriate methodologies, and communicate findings effectively through scholarly writing and presentations suited to diverse audiences.
- dentify and address ethical, legal, and societal implications in the research, development, and use of information technologies, adhering to scientific and professional standards.
- Collaborate effectively in multidisciplinary teams and demonstrate leadership in addressing complex technology-driven challenges.
- Apply project management methodologies and tools to plan, execute, and monitor IT projects within organizational settings.
- Develop and integrate information systems that align with organizational goals and strategies, supporting innovation and sustainable growth.
- Perform comprehensive systems analysis and design, including requirements gathering, modeling, prototyping, and evaluating enterprise system architectures such as ERP, CRM, and SCM.
- Assess and mitigate organizational information security risks by applying appropriate principles, technologies, and best practices in cybersecurity.
Po-Lo Matrix
| LO | Average | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L02 | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L03 | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L04 | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L05 | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L06 | - | - | - | - | - | - | - | - | - | - | - | - | - |