SE 116 | Course Introduction and Application Information

Course Name
Introduction to Programming II
Code
Semester
Theory
(hour/week)
Application/Lab
(hour/week)
Local Credits
ECTS
SE 116
Spring
2
2
3
6

Prerequisites
  SE 115 To succeed (To get a grade of at least DD)
Course Language
English
Course Type
Required
Course Level
First Cycle
Course Coordinator
Course Lecturer(s)
Assistant(s) -
Course Objectives This course aims to provide the students with general principles underlying the practice of object-oriented programming using Java programming language. In this course, the students will learn the main concepts of object-oriented programming including classes, objects, data members, methods, inheritance, and polymorphism. Object-oriented programming techniques such as implementation of inheritance and polymorphism using abstract classes will also be covered.
Course Description The students who succeeded in this course;
  • will be able to define classes in Java programming language.
  • will be able to define the features of object-oriented programming languages.
  • will be able to develop programs in Java programming language using objects.
  • will be able to use inheritance technique in class designs with Java programming language.
  • will be able to implement polymorphism concept in Java programming language.
Course Content This course covers the fundamental concepts of object-oriented programming using Java programming language.

 



Course Category

Core Courses
X
Major Area Courses
Supportive Courses
Media and Management Skills Courses
Transferable Skill Courses

 

WEEKLY SUBJECTS AND RELATED PREPARATION STUDIES

Week Subjects Related Preparation
1 Java programming language basics. Lab#1. Java How to Program, 10/e (Early Objects) Global Edition, Chapters 2, 4, 5 and 7
2 Features of object-oriented programming languages: Encapsulation, inheritance, polymorphism. Lab#2. Java How to Program, 10/e (Early Objects) Global Edition, Chapter 3
3 Introduction to object-oriented programming: Classes, objects, methods, data members, information hiding. Lab#3. Java How to Program, 10/e (Early Objects) Global Edition, Chapter 3
4 Classes Part I: Constructors, destructors, overloaded methods, “this” reference, “has-a” relationship, static class members, “final” instance variables. Lab#4. Java How to Program, 10/e (Early Objects) Global Edition, Chapters 3 and 8
5 Classes Part II: Class applications. Lab#5. Java How to Program, 10/e (Early Objects) Global Edition, Chapter 8
6 Inheritance Part I: Introduction to inheritance, “is-a” relationship, superclasses, subclasses, protected members. Project proposal submission. Lab#6. HW#1. Java How to Program, 10/e (Early Objects) Global Edition, Chapter 9
7 Inheritance Part II: Inheritance applications. Lab#7. Quiz#1. Java How to Program, 10/e (Early Objects) Global Edition, Chapter 9
8 Polymorphism Part I: Introduction to polymorphism, abstract classes, abstract methods, dynamic binding. Lab#8. Java How to Program, 10/e (Early Objects) Global Edition, Chapter 10
9 Midterm exam
10 Polymorphism Part II: The concept of “interface” in Java programming language. Suggestions on how to resolve the issues in the project codes. Midterm exam solution. Java How to Program, 10/e (Early Objects) Global Edition, Chapter 10
11 Exception handling in Java programming language. Lab#9. HW#2. Java How to Program, 10/e (Early Objects) Global Edition, Chapter 11
12 Strings, regular expressions, files. Guide for students to complete their projects. Quiz#2. Java How to Program, 10/e (Early Objects) Global Edition, Chapters 14 and 15
13 Generic Programming: Generic methods and generic classes. Lab#10. Java How to Program, 10/e (Early Objects) Global Edition, Chapter 20
14 Submission of project materials and project presentations.
15 Review
16 Final Exam

 

Course Notes/Textbooks Java How to Program, 10/e (Early Objects), Global Edition, Paul Deitel and Harvey Deitel, Pearson, ISBN13: 9781292018195
Suggested Readings/Materials  1. Available Java tutorials on the Web (such as https://www.tutorialspoint.com/java)   2. Introduction to Programming Using Java, v.7, David J. Eck, http://math.hws.edu/javanotes/  

 

EVALUATION SYSTEM

Semester Activities Number Weigthing
Participation
Laboratory / Application
1
10
Field Work
Quizzes / Studio Critiques
2
10
Homework / Assignments
2
10
Presentation / Jury
Project
1
20
Seminar / Workshop
Portfolios
Midterms / Oral Exams
1
20
Final / Oral Exam
1
30
Total

Weighting of Semester Activities on the Final Grade
7
70
Weighting of End-of-Semester Activities on the Final Grade
1
30
Total

ECTS / WORKLOAD TABLE

Semester Activities Number Duration (Hours) Workload
Course Hours
Including exam week: 16 x total hours
16
2
32
Laboratory / Application Hours
Including exam week: 16 x total hours
16
2
Study Hours Out of Class
15
4
Field Work
Quizzes / Studio Critiques
2
3
Homework / Assignments
2
3
Presentation / Jury
Project
1
20
Seminar / Workshop
Portfolios
Midterms / Oral Exams
1
12
Final / Oral Exam
1
12
    Total
180

 

COURSE LEARNING OUTCOMES AND PROGRAM QUALIFICATIONS RELATIONSHIP

#
Program Competencies/Outcomes
* Contribution Level
1
2
3
4
5
1 Adequate knowledge in Mathematics, Science and Software Engineering; ability to use theoretical and applied information in these areas to model and solve Software Engineering problems X
2 Ability to identify, define, formulate, and solve complex Software Engineering problems; ability to select and apply proper analysis and modeling methods for this purpose X
3 Ability to design, implement, verify, validate, measure and maintain a complex software system, process or product under realistic constraints and conditions, in such a way as to meet the desired result; ability to apply modern methods for this purpose X
4 Ability to devise, select, and use modern techniques and tools needed for Software Engineering practice X
5 Ability to design and conduct experiments, gather data, analyze and interpret results for investigating Software Engineering problems X
6 Ability to work efficiently in Software Engineering disciplinary and multi-disciplinary teams; ability to work individually X
7 Ability to communicate effectively in Turkish, both orally and in writing; knowledge of a minimum of two foreign languages
8 Recognition of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself
9 Awareness of professional and ethical responsibility
10 Information about business life practices such as project management, risk management, and change management; awareness of entrepreneurship, innovation, and sustainable development
11 Knowledge about contemporary issues and the global and societal effects of engineering practices on health, environment, and safety; awareness of the legal consequences of Software Engineering solutions

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest