シラバス
入学のご案内履修登録

科目の概要

Webアプリケーション開発1の続編であるプログラミング入門講座である。 発展的なプログラミング開発を行うために必要な事を身に付ける。 Linux を使用しコマンドを実行したりシェルプログラミングを書くことで実践力を身に付ける。 GitとGitHubを利用したバージョン管理ができるようになり、ソーシャルコーディングに参加できるようになる。 Node.js を使い、ライブラリを使用した数値集計や、Slackで動作するボットアプリケーションの制作を行う。 学修にはPCが必要である。

科目情報

履修想定年次
1年次
単位数
2単位
開講Q
2Q、4Q
科目区分
選択
授業の方法
オンデマンド科目
評価方法
確認レポート 50% , 単位認定試験 50%
科目コード
INF-1-C1-0204-003
到達目標
学生はLinuxについての理解を深め、基本的なコマンド操作、プログラムの作成と実行が可能になる。crontabを用いたプログラムの定期実行ができるだけでなく、Gitとソーシャルコーディングサービスを活用する技術を身につける。また、Node.jsを用いたプログラム作成、ライブラリ活用法も習得する。これらの技術を組み合わせ、デジタルツールを使用した情報収集能力と表現能力を伸ばし、プログラムを通じた問題解決へとつなげる。プログラミングを使った開発経験を積み、デジタルツールを用いて情報収集、表現、コミュニケーションする力を獲得することを目標にする。
教科書・参考書
  • 吉村総一郎『Webプログラミングが面白いほどわかる本』KADOKAWA、2018年
授業時間外の学修
各回の授業内容は繰り返し見返し、各回二時間ほど復習を行ってください。また、次回の学修内容についてもあらかじめ不明な単語や前提となる知識をWebで調べるなどして各回三時間ほど予習を行ってください。
特記事項
順次公開予定

授業計画

1
LinuxというOS

Linuxとそのディストリビューションを理解し、その使用理由と仮想環境について学ぶ。Multipassをインストールし、UbuntuでのCLI操作を体験する。

2
コンピューターの構成要素 / ファイル操作

Linuxでコンピュータの構成要素を認識し、ファイルやディレクトリ、コマンドの操作について理解する。WindowsやmacOSでのコマンド応用についても考える。

3
標準出力

Linuxの入出力について知り、リダイレクトや各種コマンドを利用し、標準出力をファイルや他のコマンドの標準入力とつなげる。

4
Vim

テキストエディターVimの使い方を修得し、ファイルの開閉、新規作成の手順を理解する。モードの切り替えやvimtutorを用いた練習も行う。

5
シェルプログラミング / 通信とネットワーク

シェルプログラミングの基礎を学び、通信プロトコルやIPアドレス、ネットワークについて認識する。手元で簡単なクイズゲームを制作する。

6
サーバーとクライアント / HTTP通信

サーバクライアント型通信とP2P型通信について理解し、tmuxを用いた実践を行う。さらにHTTP通信を学び、パケットの中身を確認したり、自分でHTTPサーバを立ててみる。

7
通信をするボットの開発

ボットの基本的な利用方法を学び、ニコニコ動画のランキング情報を取得するボットを実装する。その動作を自動化するためのcronの設定方法も理解する。

8
イシュー管理とWiki によるドキュメント作成

GitHubを利用し、イシュー管理とWikiの利用方法を修得する。またGistを用いた情報共有について理解する。

9
Gitとソーシャルコーディングサービスの連携 / ソーシャルコーディングサービスへのpush

Gitを使用したバージョン管理・コード共有の手法を学び、SSH公開鍵を設定し、自身の情報をGitに登録する。自身の変更をリモートに反映させる方法も理解する。

10
Gitのブランチ / ソーシャルコーディング

ブランチを用いた開発フローを理解し、ブランチの作成・切り替え、変更の送信、mainブランチへの変更取り込みなどを行う。

11
Docker / Node.js

コンテナ技術DockerとNode.jsを学び、これらを用いてプログラミングを実践する。Dockerコンテナ上でNode.jsプロジェクトを作成する。

12
アルゴリズムの改善 / 集計処理を行うプログラム

フィボナッチ数列のアルゴリズムを理解し実装を行う。アルゴリズムの改良と実行時間の測定方法について学び、効率の良いアルゴリズムについて学ぶ。また集計処理のプログラムを作成する。

13
ライブラリ / Slackのボット開発

yarn等のライブラリを理解し、自作のnpmパッケージを作成する。ライブラリを使用してSlackボットの開発を行う。

14
モジュール化された処理

CRUDに基づくボットの要件を理解し、todoパッケージの実装を行う。各種機能のテストも作成し、動作を保証する。

15
ボットインタフェースとの連携

作成した自作ライブラリをSlackボットのプログラムで使用する。Slackでの発言に対応した機能が動作するようにボットのプログラムを作成する。

関連科目