Computer Science Programming 1
TeachersMORI, Takuo
Grade, SemesterYear 2 1st semest [Department of Information and Electronic Engineering, Faculty of Science and Engineering]
CategoryBasic Major Subjects
Elective, CreditsElective Requisites 2credit
 Syllabus Number3C211

Course Description

Through the Java language, students learn basics of Object-Oriented Programming (OOP).

Java is one of the most used languages in the current software development, and OOP is one of the most general software development methods. Being able to utilize Java and OOP makes it possible for students to develop practical programs.

Java has both features that compiler languages have and that intermediate languages of which executable codes run on virtual machines have. Developing and executing programs through a text-editor and a shell, students will deeply learn Java, such as the relations between source files and class files or package managements and directory structures.

Each class is provided in the form of flipped classroom. Thus, students are basically required to watch video materials and to fill in a preparation worksheet before each class. In addition, except for general exercises, students learn and discuss the contents of tasks given in a video or a class, in a group under the supports of upper-class students called Student Assistants (SA).

Students acquire skills related to the diplomatic policy, DP4C.

Course Objectives

The goal of this class is that students can express typical concepts in OOP, such as, encapsulation, inheritance and polymorphism through the grammar of Java.

Concrete objectives of students are as follows;
Students can write a program in Java, giving a small or easy problem and its specification or algorithm.
Students can express basic OOP through Java.
Students can develop programs in Java by using a text-editor and command line tools.
Students can increase the depth of one's own understanding on Java by actively joining group-works.

Grading Policy

Grading Policy;
Worksheets(20%), programming exersices (including both required and optional ones)(30%), examination(50%).

The way of feedback;
Answers for questions or feedback for the contents of class, worksheets, and examination will be given in a class, through LMS or office hours.

Textbook and Reference

KindTitleAuthorPublisher
TextbookJava言語プログラミングレッスン 第3版(下) オブジェクト指向を始めよう 結城浩著SBクリ エイティブ,ISBN-13: 978-4797371260
ReferencesJava言語プログラミングレッスン 第3版(上) オブジェクト指向を始めよう結城浩著SBクリ エイティブ,ISBN-13: 978-4797371253

Requirements(Assignments)

Before taking this course, students should take the following courses;
Mathematical logic, Programming 1, Programming 2, Exercises in Programming 1.

At the same semester with this course, students should take the following courses;
Exercises in Programming 2, Data Structure and Algorithms, Programming Language Theory.

After taking this course, students should take all the courses related to programming.

This course is a required course, and relates to the mid term 4-2 of the attaining targets for learning and educating, in the JABEE program.

Note

Schedule

1Java language
2Operators, variables and types, if-statements, loop processing
3Arrays and enhanced for-loop
4Re-introduction to the object-oriented programming
5Object variables, class variables and command-line arguments
6Super class, sub class and inheritance
7Super class, sub class, polymorphism, and abstract class
8General exercise 1
9Access modifiers, how to use packages
10Interfaces
11How to implement plural interfaces, Recursive processes in object-oriented languages
12Exceptions, what is an exception ?, typical exceptions
13Exceptions, various exceptions, remarks on programming using exceptions, new exception handling introduced in Java SE7
14General exercise 2
15General exercise 3