|
BIL3009 | Java Programming | 3+0+0 | ECTS:4 | Year / Semester | Fall Semester | Level of Course | First Cycle | Status | Elective | Department | DEPARTMENT of COMPUTER ENGINEERING | Prerequisites and co-requisites | None | Mode of Delivery | Face to face | Contact Hours | 14 weeks - 3 hours of lectures per week | Lecturer | Doç. Dr. Hüseyin PEHLİVAN | Co-Lecturer | None | Language of instruction | Turkish | Professional practise ( internship ) | None | | The aim of the course: | The course aims to provide an introduction to the fundamental concepts of the Java programming language (i. e. syntax and semantics, class creation and manipulation, graphical user interface programming and event-driven programming) and object-oriented programming (data abstraction, data encapsulation and software reuse) . |
Learning Outcomes | CTPO | TOA | Upon successful completion of the course, the students will be able to : | | | LO - 1 : | define classes, interfaces and methods to model behaviours of real-life objects. | 2,3,4,12 | 1,3 | LO - 2 : | write and make use of Java classes with a given interfaces. | 2,3,4,12 | 1,3 | LO - 3 : | apply the object-oriented programming paradigm in computer program design. | 2,3,4,12 | 1,3 | LO - 4 : | comprehend the event handling and exception handling mechanisms in Java. | 2,3,4,12 | 3 | LO - 5 : | implement Java applications with interactive graphical user interface. | 2,3,4,12 | 1,3 | LO - 6 : | write complete Java programs to solve practical computation problems. | 2,3,4,12 | 1,3 | CTPO : Contribution to programme outcomes, TOA :Type of assessment (1: written exam, 2: Oral exam, 3: Homework assignment, 4: Laboratory exercise/exam, 5: Seminar / presentation, 6: Term paper), LO : Learning Outcome | |
Java Applications: Introduction, simple programs, arithmetic, equality and relational operators. Java Classes and Objects: Classes, objects, methods, instance variables, primitive types, reference types, dialog boxes. Control Statements: Control structures, selection and multi selection statements, repetition statements, logical operators. Methods: Static methods, method declaration and invocation, argument promotion, casting, scope of declarations, method overloading. Arrays: Declaring and creating arrays, passing arrays, multidimensional arrays. Classes and objects: Controlling access to members, constructors, composition, enumerations, garbage collection, final instance variables. Inheritance: Superclasses and subclasses, protected members, constructors in subclasses, Object class. Polymorphism: Polymorphic behavior, abstract classes and methods, final methods and classes, creating and using interfaces. GUI components: Swing components, JTextField, JLabel, JButton, JComboBox, JList, mouse-event handling, adapter classes, key-event handling, layout managers, JTextarea. Graphics and Java 2D: Graphics objects, color control, font control, drawing shapes, Java 2D API. Exception handling: Simple exceptions, exception hierarchy, finally block, stack unwinding, chained exceptions, declaring new exception types. Files and streams: Data hierarchy, File class, sequential-access text files, object serialization, random-access files. Multithreading: Life cycle of a thread, thread priorities, creating and executing threads, thread synchronization, multithreading with GUI. |
|
Course Syllabus | Week | Subject | Related Notes / Files | Week 1 | Java Applications | | Week 2 | Java Classes and Datatypes | | Week 3 | Control Statements | | Week 4 | Methods | | Week 5 | Arrays | | Week 6 | Classes and Objects | | Week 7 | Inheritance | | Week 8 | Polymorphism | | Week 9 | Mid-term exam | | Week 10 | GUI Components - I | | Week 11 | GUI Components - II | | Week 12 | Graphics and Java 2D | | Week 13 | Exception Handling | | Week 14 | Files and Streams | | Week 15 | Threading | | Week 16 | End-of-term exam | | |
1 | Deitel, P. J., Deitel, H. M., 2012, Java How to Programming, 9th ed. , Prentice Hall., 1536 p. | | |
1 | Liang, Y. D., 2005, Introduction to Java Programming, 5th ed. , Prentice Hall, 1314 p. | | |
Method of Assessment | Type of assessment | Week No | Date | Duration (hours) | Weight (%) | Mid-term exam | 9 | 25/11/2023 | 2 | 50 | End-of-term exam | 16 | 23/01/2024 | 2 | 50 | |
Student Work Load and its Distribution | Type of work | Duration (hours pw) | No of weeks / Number of activity | Hours in total per term | Yüz yüze eğitim | 3 | 14 | 42 | Sınıf dışı çalışma | 2 | 14 | 28 | Arasınav için hazırlık | 6 | 1 | 6 | Arasınav | 2 | 1 | 2 | Dönem sonu sınavı için hazırlık | 10 | 1 | 10 | Dönem sonu sınavı | 2 | 1 | 2 | Total work load | | | 90 |
|