Algorithm and Data structure

					            Course Information
   This course provides a comprehensive introduction to the
    modern study of computer algorithms and data structures.
     この授業では、近年のコンピュータアルゴリズムやデータ構造の研
    究について、総合的に行う


 Prerequisites 前提条件
    – Familiar with Java programming language.
    – Familiar with topics from the first-year college
       mathematics, including polynomials, exponents,
       logarithms, and summations, etc.
What are Data Structures and
        Algorithms?
   Data structure is an arrangement of data in a computer’s
    memory (or sometimes on a disk). Data structures include
    arrays, linked lists, stacks, binary trees, and hash tables,
    among others.
    データ構造は、メモリ内のデータ整理である。
   Algorithms manipulate data in these structures in various
    ways, such as searching for a particular data item and
    sorting the data.
    アルゴリズムは、上記の構造内のデータに対して、探索や整理を行
    う操作である。
            Study of Algorithms
   Design, analysis, and implementation of efficient data
    structures and algorithms has long been recognized as a
    major subject in computer science.
    効果的なデータ構造やアルゴリズムについてのデザインや解析、実
    装は、コンピュータ科学において主な課題とされている。
   Efficient algorithms are needed in all fields where
    computer software systems are used, including the Web,
    operating systems, database, compilers, and scientific
    simulation systems.
    コンピュータソフトウェアシステムなどの全ての場面において、効果
    的なアルゴリズムは必要とされている。
    Design, Analysis and
      Implementation

  DESIGN



                 IMPLEMENTATION
 ANALYSIS
                      Java

Pseudo-code
         Pseudo-code and Java
   Design and analysis of algorithms and data structures
    should be independent of the computer language that is
    used to implement the algorithm.
    デザインや解析をする際において、アルゴリズムの実装に使用され
    るコンピュータ言語は、公用のものが望ましい。
   Algorithm is written in pseudo-code to facilitate its design
    and analysis. It is similar to use blueprint for architecture.
     アルゴリズムは、 擬似コードと呼ばれる言語で書かれる。
   Implementation is to translate the pseudo-code into
    programs, such as Java programs.
     実装は、 擬似コードをJavaのようなプログラムに書き換えること。
      Pseudo-code and Algorithm
              Analysis
   Analysis of algorithms and data structures includes
    correctness and efficiency. It should be done at the abstract
    level of description such as the pseudo-code.
    解析は、正確さや効率を図るもの。解析は、アブストラクトレベルで
    行うのが望ましい。
   The pseudo-code is the program-like statements written for
    human readers, not for computers. Thus, the pseudo-code
    should be readable by anyone who has done a little
    programming.
    擬似コードは高級言語であるプログラムに似ている。つまり、プロ
    グラムが多少理解できていれば、読み取ることができる。
Lecture Notes and Reference

   The web site for lecture notes and exercises
    http://cis.k.hosei.ac.jp/~speng
   Reference book
    Data Structures and Algorithms in Java
    by M.T. Goodrich and R.Tamassia, 2004
    http://www.datastructures.net
            Course Contents
1.   Analysis Tools        7. Search Trees
2.   Recursion             8. Sorting

3.   Vectors and           9. Text Processing
     Sequences             10. Data Structures for
4.   Trees                     Graphs, DFS and
5.   Priority Queues and       BFS
     Heaps                 11. Weighted Graphs and

6.   Dictionaries and          Shortest Path Problem
     Hash Tables
                 Exercise Class
   There are 10 exercise assignments and a term project
    assignments.
     10問の課題とプロジェクト
   You have one period (90 minutes) for each exercise. If
    you cannot finish your exercise within that period, you can
    continue your work until Saturday.
   The deadline for submission of the answer file is Saturday
    5:00 PM.
    課題提出は、土曜の午後5時まで
   Solutions to the exercise will be posted on Monday of the
    next week.
    課題の解答は、次の週の月曜日に配布予定。
                 Term Project
 The term project is a practice for writing algorithms in
  Pseudo-code and implementing them by Java.
   プロジェクトは、 擬似コードでアルゴリズムを書くことと、それを
  Javaで実装する練習。
 The project will be assigned after the 1st midterm exam.
 The project should be done within two exercise classes.
 You should submit a short report for the project .
                  Lecture Class
   Three exams: two midterm exams (open-book, 70 minutes,
    in-class) and a final exam (open-book, 90 minutes).
    中間試験と期末試験の 3つの試験がある。
   The 1st midterm exam covers the materials in lecture notes
    1 – 3. The 2nd midterm exam covers the materials in
    lecture notes 4 – 6. The final exam covers the materials in
    lecture notes 7 – 10.
    1st 中間試験範囲は、講義の1から3。
    2nd 中間試験範囲は、講義の4から6。
    期末試験は全ての授業が終わった後に行う。範囲は、7から10。
                  Time Table
   week       lecture/exam             exercise
   1st      lecture #1            exercise #1
   2nd      lecture #1 (Conti.)   exercise #1 (Conti.)
   3rd       lecture #2            exercise #2
   4th      lecture #3            exercise #3
   5th    the 1st midterm         project (the 1st part)
   6th      lecture #4            exercise #4
   7th      lecture #5            exercise #5
           Time Table (Conti.)
   week     lecture/exam      exercise
   8th       lecture #6     exercise #6
   9th    the 2nd midterm   project (the 2nd part)
   10th      lecture #7     exercise #7
   11th      lecture #8     exercise #8
   12th      lecture #9     exercise #9
   13th      lecture #10    exercise #10
              Grading Policy
   Exercise (Lab) Class
    – Class attendance: 10%
    – Exercise submissions: 60% (6% per exercise)
    – Project: 30%
   Lecture Class
    – Midterm exams: 60% (30% per exam)
    – Final exam: 40 %
    Languages used in Class
 Lectures: English
 Lecture notes: English and Japanese
 Exercise assignments: English and Japanese
 Exercise solutions: English and Japanese
 Exercise submission: English or Japanese
 Project report: English or Japanese
 Answers for exams: English or Japanese

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:18
posted:7/7/2011
language:Japanese
pages:16