Skip to main content
TR

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

  1. 01 Design and develop software using object oriented design and programming methods
  2. 02 Practice UML Class diagrams to effectively create object oriented design models
  3. 03 Using persistency and database features alongside with programming
  4. 04 Using advanced features such as XML Parsing and Text file processes with programming langauges
  5. 05 Practice Parallel programming features such as threats and objects
  6. 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

  1. 01 Java: The Complete Reference, Ninth Edition, 2016
  2. 02 Java: A Beginner's Guide, Sixth Edition, 2014

Learning Outcomes

  1. L01 Design and develop software using object oriented design and programming methods
  2. L02 Practice UML Class diagrams to effectively create object oriented design models
  3. L03 Using persistency and database features alongside with programming
  4. L04 Using advanced features such as XML Parsing and Text file processes with programming langauges
  5. L05 Practice Parallel programming features such as threats and objects
  6. L06 Practice the fundamentals of Network and Socket Programming

Program Outcomes

  1. Demonstrate a thorough understanding of the theories, frameworks, and models in order to assess and comprehend the state of the art in data science.
  2. Review the literature and apply data science theories and methodology in new research and experiments.
  3. Analyze datasets using supervised and unsupervised machine learning techniques.
  4. Design, develop and test statistics and informatics software systems for data management, analysis and problem solving.
  5. Conceptualize and develop efficient visuals for a range of data types and analytical tasks, and carry out independent research on a range of theoretical and applied subjects in visualization and visual analytics.
  6. Obtain a high level of proficiency in communication, problem solving, research or project-related activities and function effectively as a team member or a leader to accomplish a common goal in a multidisciplinary team.
  7. Develop and implement optimal solutions to overcome challenges associated with managing large datasets by utilizing parallel methods, cloud computing, and non-relational data storage and retrieval (NoSQL).
  8. Demonstrate an understanding of the interdisciplinary of data, information, and communications, as well as the ability to evaluate the leading research methods for data collection and analysis.
  9. Demonstrate a deep understanding of the ethical issues surrounding the use of data and apply ethical decision making in real-world data-related applications.
  10. Demonstrate capability of analyzing, synthesizing, and evaluating knowledge from a wide range of fields and be capable of lifelong self-directed learning.

Po-Lo Matrix

LO Average
L01 - - - - - - - - - - -
L02 - - - - - - - - - - -
L03 - - - - - - - - - - -
L04 - - - - - - - - - - -
L05 - - - - - - - - - - -
L06 - - - - - - - - - - -