Exercises in Programming1
TeachersYAMANE, KenStaffInfo
Grade, SemesterYear 1 2nd semest [Department of Information and Electronic Engineering, Faculty of Science and Engineering]
CategoryBasic Major Subjects
Elective, CreditsElective Requisites 1credit
 Syllabus Number3B105

Course Description

This is an introductory programming exercise course in programming language "Processing". The aim of this course is to help students acquire programming skills to write simple programs by themselves. It is required for students that they have already taken Programming 1 and 2, or they are taking Programming 2 in the same semester. Because students will learn example programs and try to write programs for given specifications using knowledge acquired in Programming 1 and 2.
First, students will work on basic exercises on testing and debugging, then work on programming exercises. Then, students will develop simple application software. At the end of the course, students will build learning portfolios on their programming skills.
This course is related to diploma policy DP4C and DP4M.

Course Objectives

The minimum goal of this course for students is acquiring programming skills to write simple programs. A work of programming is to write programs which meet given specifications and the work consists of writing program codes, debugging, testing and improving programs in readability. Upon successful completion of this course, students will be able to develop a simple application software or game software.

Grading Policy

Programming works are given in each class and students should submit worksheets and program codes. For the final exercise, students should submit a report and program codes. At the end of the course, students should build learning portfolios on their programming skills.
The grade of students will be calculated according to the following process: worksheets and program codes 60%, report and program codes 15% and portfolio 25%.
Feedbacks on worksheets, reports, and portfolio are given via LMS.

Textbook and Reference

KindTitleAuthorPublisher
TextbookGetting Started with Processing (2nd edition)
Casey Reas and Ben Fry , (Takumi Funada translate)O'Reilly Japan, Inc. 20162016、ISBN-13: 978-4873117737
References

Requirements(Assignments)

Learning materials for each class will be carried on LMS in advance. For preparation, students are expected to write example programs and make it clear where they can't understand. During classes, ask or discuss about points you don't understand, write programs, and fill out worksheets. After classes, complete your worksheets or reports and submit them to LMS.
The preparation and after-class learning will take one hour each for students who have a fair understanding of contents in Programming 1 and 2. I will take more for students with little understanding.

Note

The course is conducted in Japanese.

Schedule

1Introduction, how to learn in this course and review of functions.
2Test driven development, tests and test codes.
3How to use debugger.
4Exercises in Programming with conditional branching.
5Exercises in Programming with array and loops.
6Exercises in Programming with array and nested loops.
7Exercises in Programming with classes and operation of characters.
8Exercises in Programming to read values from two-dimensional array.
9Exercises in Programming to write values to two-dimensional array.
10Exercises in Programming with collection classes.
11Exercises in Programming with classes and file input/output.
12Final exercise (1) Development of simple GUI application or game.
- GUI household accounts: screen setting and formatting records.
- Shooting game: drawing my space ship and control of my ship
13Final exercise (2) Development of simple GUI application or game.
- GUI household accounts: displaying and registering records.
- Shooting game: drawing an enemy ship and giving movement to it.
14Final exercise (3) Development of simple GUI application or game.
- GUI household accounts: removing and importing/exporting records.
- Shooting game: process of firing bullets and hitting.
15Review and writing programming e-portfolio.