The goals of this course are to teach students the basic principles of object-oriented programming through JAVA programming language and to allow them to develop object-oriented programs and web applets.
Prerequisite(s)
None
Corequisite(s)
None
Special Requisite(s)
Basic programming skills and (in order to follow the course resources) basic English knowledge are necessary and sufficient.
Instructor(s)
Assist. Prof. Dr. Tayfun Kaynaş
Course Assistant(s)
-
Schedule
Monday, AK-4C07091113, 13:00-14:45
Thursday, FEF-PC Lab. I, 13:00-14:45
- Lecture
- Visual presentation
- Programming and coding in Java Programming Language in Computer Lab.
Principle Sources
- Paul Deitel, Harvey Deitel, JAVA : How to Program (Late Objects Version), 8th ed., Pearson Education, Inc, Upper Saddle River, NJ, 2010.
Other Sources
- Cay Horstmann, Big Java, 2nd ed., John Wiley & Sons, Inc, 2006.
- Michael T. Goodrich, Roberto Tamassia, Data Structures and Algorithms in JAVA, 4th ed., John Wiley & Sons, Inc, 2006.
- Jeff Magee, Jeff Kramer, Concurrency : State Models & Java Programming, John Wiley & Sons Ltd, Chichester, West Sussex, England, 2006.
Course Schedules
Week
Contents
Learning Methods
1. Week
Introduction to Java Programming Language
Oral and visual presentation
2. Week
Java Applications and Java Applets
Oral presentation, implementation
3. Week
Program Control Structures
Oral presentation, implementation
4. Week
Arrays, Strings
Oral presentation, implementation
5. Week
The Principles of Object Oriented Programming, The Concepts of Class and Object
Oral presentation, implementation
6. Week
Class Derivation and Inheritance
Oral presentation, implementation
7. Week
Polymorphism
Oral presentation, implementation
8. Week
Midterm Exam I
Exam
9. Week
Inner Classes, Interfaces
Oral presentation, implementation
10. Week
Graphical User Interface (GUI) Classes
Oral presentation, implementation
11. Week
Exception Handling in Java
Oral presentation, implementation
12. Week
Midterm Exam II
Exam
13. Week
Multithreading in Java
Oral presentation, implementation
14. Week
Database Connection in Java
Oral presentation, implementation
15. Week
Finals Week
Exam
16. Week
Finals Week
Exam
17. Week
Finals Week
Exam
Assessments
Evaluation tools
Quantity
Weight(%)
Midterm(s)
1
20
Project(s)
1
30
Final Exam
1
50
Program Outcomes
PO-1
Interpreting advanced theoretical and applied knowledge in Mathematics and Computer Science.
PO-2
Critiquing and evaluating data by implementing the acquired knowledge and skills in Mathematics and Computer Science.
PO-3
Recognizing, describing, and analyzing problems in Mathematics and Computer Science; producing solution proposals based on research and evidence.
PO-4
Understanding the operating logic of computer and recognizing computational-based thinking using mathematics as a discipline.
PO-5
Collaborating as a team-member, as well as individually, to produce solutions to problems in Mathematics and Computer Science.
PO-6
Communicating in a foreign language, and interpreting oral and written communicational abilities in Turkish.
PO-7
Using time effectively in inventing solutions by implementing analytical thinking.
PO-8
Understanding professional ethics and responsibilities.
PO-9
Having the ability to behave independently, to take initiative, and to be creative.
PO-10
Understanding the importance of lifelong learning and developing professional skills continuously.
PO-11
Using professional knowledge for the benefit of the society.
Learning Outcomes
LO-1
The student recalls the programming languages which he/she previously learned and defines the main differences between these languages and The Java Programming Language.
LO-2
The student develops Java programs by understanding the syntactic and semantic rules of the language.
LO-3
The student identifies the basic principles of object-oriented programming and designs his/her programming projects in a more modular and easy-to-manage way.
LO-4
The student develops multithreaded applications with Java Programming Language.
LO-5
The student designs and develops Java applets which can be embedded in web pages.