B4005
スクリプト言語プログラミング基礎
FUNDAMENTALS OF PROGRAMMING WITH SCRIPT LANGUAGES
基盤科目-情報技術基礎科目
Fundamental Subjects - Subjects of Fundamentals of Information Technology
2 単位
実施形態 完全オンライン
開催日程 秋学期 火曜日3時限
担当教員 服部 隆志(ハツトリ タカシ)
関連科目 前提科目(必須): B4001
前提科目(推奨): B4004
開講場所 SFC
授業形態 講義、実習・演習
履修者制限

履修人数を制限する

受入学生数(予定):約 40 人
選抜方法:課題提出による選抜

【課題内容】
(1) 2から100までの素数をすべて出力するプログラムを書いてください。言語は何でもかまいません。できればエラトステネスの篩(https://ja.wikipedia.org/?curid=147374)など高速なアルゴリズムを用いる方が良いです。



(2) 作ってみたいウェブアプリケーションについて書いてください。



(3) この科目をどうしても今学期に履修しなければならない理由があれば、書いてください。



◯エントリー〆切日時:2020年9月28日(月) 17:00
◯履修許可者発表日時:2020年9月30日(水) 17:00

◯テキスト入力

Only the selected students can take this course.

Number of students in the class (scheduled) : About 40
Pre-registration screening by submitted an assignment

【ASSIGNMENT】
(1) 2から100までの素数をすべて出力するプログラムを書いてください。言語は何でもかまいません。できればエラトステネスの篩(https://ja.wikipedia.org/?curid=147374)など高速なアルゴリズムを用いる方が良いです。



(2) 作ってみたいウェブアプリケーションについて書いてください。



(3) この科目をどうしても今学期に履修しなければならない理由があれば、書いてください。



* Schedule: TBD

履修条件

(14学則)前学期までに「情報基礎2」の単位を修得済み、または同等のプログラミング(繰り返し、場合分け、配列、関数など)の経験があること。

You need the credit of 'Fundamentals of Information Technology 2' or equivalent programming skills such as iteration, conditional branch, arrays and functions.


「情報基礎1」の単位を取得していること(ただしタイピング試験不合格者は履修不可)。プログラミングについて「情報基礎2」相当の知識があれば履修が可能だが、
そうでなければ「情報基礎2」の履修を強く推奨する。


You must have earned credits of "Fundamentals of Information Technology 1." excluding those who failed typing exam. If you have knowledge equivalent to "Fundamentals of Information Technology 2" about programming, you can take this course, otherwise it is strongly recommended to take "Fundamentals of Information Technology 2" beforehand.

使用言語 日本語
連絡先 hattori@sfc.keio.ac.jp
授業ホームページ http://web.sfc.keio.ac.jp/~hattori/script-lang/
同一科目

学生が利用する予定機材/ソフト等

PC(Windows, MacOS, Linux)

PC(Windows, MacOS, Linux)

設置学部・研究科 総合政策・環境情報学部
大学院プロジェクト名

大学院プロジェクトサブメンバー

ゲストスピーカーの人数 0
履修選抜・課題タイプ=テキスト登録可 true
履修選抜・選抜課題タイプ=ファイル登録可 false
GIGAサティフィケート対象
最終更新日 2020/08/21 18:05:37

科目概要

最近注目を集めているスクリプト言語である Ruby を使用し、フレームワークを利用したウェブアプリケーション制作の演習を行う。まず、Ruby の基本的な言語仕様とプログラミングテクニックについて学ぶ。次に、Ruby on Rails の使用法を学び、各自でそれを使って実用的なウェブアプリケーションを制作する。

The main objective of this course is to exercise development of web applications based on a framework Ruby on Rails where we use a script programming language Ruby which is becoming popular recently. First, we will learn the language specification and programming techniques of Ruby. Next, we will learn how to use Ruby on Rails, and then make our own practical applications.

授業シラバス

主題と目標/授業の手法など

最近注目を集めているスクリプト言語である Ruby を使用し、フレームワークを利用したウェブアプリケーション制作の演習を行う。まず、Ruby の基本的な言語仕様とプログラミングテクニックについて学ぶ。次に、Ruby on Rails の使用法を学び、各自でそれを使って実用的なウェブアプリケーションを制作する。

The main objective of this course is to exercise development of web applications based on a framework Ruby on Rails where we use a script programming language Ruby which is becoming popular recently. First, we will learn the language specification and programming techniques of Ruby. Next, we will learn how to use Ruby on Rails, and then make our own practical applications.

教材・参考文献

テキストはウェブ上に用意する。

提出課題・試験・成績評価の方法など

平常点(練習問題など)40%、最終課題60%の合計。

Your mark will be decided by the sum of class participation 40% and the final project 60%.

履修上の注意

授業が90分しかないので、プログラミング作業の大部分は宿題という形になる。

Since we have only 90 minutes in the class, most of programming work is left as homework.

授業計画

第1回 オリエンテーション
[Orientation]

Ruby on Rails は数分でアプリケーションを作れることで有名である。試しに実際にアプリケーションを作ってみる。

Ruby on Rails is famous for rapid development of application. We demonstrate it by building a sample application.


第2回 Rubyの基礎(1) - 制御構造
[Basics of Ruby (1) - Control Structure]

Rubyの基本的な文法と、繰り返し、場合分け、例外処理などの制御構造。

Elementary grammar of Ruby. Control structure such as iteration, branch and exception.


第3回 Rubyの基礎(2) - データ構造
[Basics of Ruby (2) - Data Structure]

文字列、配列、ハッシュなどのデータ構造。

Data structure such as string, array and hash.


第4回 Rubyの基礎(3) - ブロック付きメソッド
[Basics of Ruby (3) - Method with block]

Rubyの特徴的な構文であるブロック付きメソッドについて学ぶ。

A method with a block is a characteristic construct in Ruby.


第5回 Rubyの基礎(4) - オブジェクト
[Basics of Ruby (4) - Object]

継承などオブジェクト指向の基本的な概念を学ぶ。

Fundamental concepts of Object Oriented Language such as inheritance.


第6回 Ruby on Rails (1) - モデル
[Ruby on Rails (1) - Model]

ウェブアプリケーションの構造とMVCについての説明。
簡単なモデルの作り方。

Structure of web applications and MVC.
How to create models.


第7回 Ruby on Rails (2) - ビュー
[Ruby on Rails (2) - View]

erbファイルとレイアウト。

ERB files and layouts.


第8回 Ruby on Rails (3) - コントローラ
[Ruby on Rails (3) - Controller]

コントローラを中心としたRailsの処理の流れ。
ルーティング、レンダリングの説明。

The flow of processing in Rails in which controllers play central roles.
Routing and rendering.


第9回 Ruby on Rails (4) - フォーム
[Ruby on Rails (4) - Form]

ユーザがデータを入力する際の処理の流れ。
メニューやラジオボタンなどのGUI部品の説明。

The flow of processing when a user inputs data.
GUI components such as menu and radio button.


第10回 Ruby on Rails (5) - 画像
[Ruby on Rails (5) - Image]

画像のアップロードや表示に関する機能。

Functions to upload and display images.


第11回 Ruby on Rails (6) - 検索
[Ruby on Rails (6) - Search]

検索条件の入力と結果を表示するページ。

Pages to enter search conditions and to display search results.


第12回 Ruby on Rails (7) - プラグイン
[Ruby on Rails (7) - Plugin]

Rubyのパッケージ管理システムであるgemとbundlerについての説明。
Railsのユーザ認証プラグインの例。

Gem and bundler.
Sample gem for authentication.


第13回 Ruby on Rails (8) - サーバでの公開
[Ruby on Rails (8) - Deployment]

作成したアプリケーションをサーバで公開する方法。

How to deploy the application to a server.


第14回 最終課題(1)
[Final assignment (1)]

Railsを使ったウェブアプリケーションの設計と制作を行う。

Design and implement a web application using Ruby on Rails.


第15回 最終課題(2)
[Final assignment (2)]

Railsを使ったウェブアプリケーションの設計と制作を行う。

Design and implement a web application using Ruby on Rails.


15回目に相当するその他の授業計画

最終課題の発表:制作したウェブアプリケーションについて発表を行う。

Presentation of the final assignment.