シラバス
授業科目名 | 年度 | 学期 | 開講曜日・時限 | 学部・研究科など | 担当教員 | 教員カナ氏名 | 配当年次 | 単位数 |
---|---|---|---|---|---|---|---|---|
プログラミング(2) | 2024 | 後期 | 月3 | 文学部 | 木村 隼人 | キムラ ハヤト | 1年次配当 | 2 |
科目ナンバー
LE-IM1-L105
履修条件・関連科目等
授業で使用する言語
日本語
授業で使用する言語(その他の言語)
授業の概要
モバイル端末向けのアプリ(以下、モバイルアプリ)をWebプログラミング言語(HTML/CSS/JavaScript)で開発する演習を行います。
モバイルアプリ開発を通じて、下記のことを学びます。
・プログラミング言語(HTML/CSS/JavaScript)を使ったWebサイト・モバイルアプリ開発
・サーバとのデータ通信
・データベース操作
・CSSフレームワークを使ったリッチ画面開発
【注意】世の中にはJavaというプログラミング言語もあります。JavaとJavaScriptとは全く別のものです。このため、JavaScriptを省略してJavaと呼んではいけません。
プログラミング開発の実際の現場では、1人で開発することは少なく、複数人でのチーム開発を行うことが多いです。そのために、本授業ではグループワーク形式でのディスカッションを通じてプログラミングについて理解を深めます。
1. 授業
・プログラミングの基礎的な考え方、文法のポイントを説明します。
・実習用のサンプルプログラムについて解説します。
・グループ演習を通じて、プログラミングの考えを共有し理解を深めます。
2. 復習
・プログラミングの考え方や文法を理解した上で、サンプルプログラムを確認することで理解が深まります。
・トライアンドエラーでプログラミングをすることでスキルが定着します。
・能力習得のレベル:練習問題に取り組み知識を能力として定着させます。
・理解できなかった点があれば、Web上で調べたりmanabaの掲示板を活用ください。
3. その他
Web技術では、JavaScript 以外に、HTMLとスタイルシート(CSS)の利用が必須です。このため、HTMLとCSSの基本についても学習します。
科目目的
(1) プログラムが実現する世界を認識する
プログラミング教育が、2020年から小学校、2021年からは中学校、2022年からは高校で必修化されました。2025年度の大学入学共通テストでは教科「情報」が試験科目に加わります。この背景には、プログラミングを含む情報通信によって創り出されるサービスや情報連携が、社会基盤として重要な地位をしめる時代になったということがあります。
これまでコンピュータとは無縁と思われていた領域にも、プログラミング技術が適用されて、FinTech、EduTechなどという言葉も使われています。農業、飲食店、地方自治体、等々あらゆるサービスがインターネットを経由して利用するスタイルになってきています。その基盤となるのがプログラミング的思考です。
(2) コンピュータとプログラムの関係性を理解する
コンピュータはどのように動作しているのか、プログラムは何を実現しているのかを本科目を通して理解します。
(3) Web技術の基本を習得する
日頃私たちが利用しているWebのサービスでは、サーバ側のプログラムと端末(PC、タブレット、スマートフォン)側のプログラムとが協調してサービスを提供しています。
JavaScriptは、端末側のWeb画面を制御するために使われており、Webとは切っても切れない関係です。Web関連サービスの開発に何らかの形で関わることになった場合、JavaScriptの知識や技術は必須です。
プログラムを利用する立場であってもその背景を知っておくことで、生活や仕事に活用できる下地ができます。また、トラブルを予測、回避、改善できる余地が高まります。個人情報や機密情報がどのように取り扱われるべきかについて考察する基盤となります。
到達目標
(1) HTML/CSS/JavaScriptを使ったアプリ画面やデータ通信を行うプログラミングのスキルを身に付ける。
(2) モバイルアプリを自力で開発できるスキルを身に付ける。
(3) 与えられた課題に対して目的を理解し、プログラミングできること。
授業計画と内容
※以下のスケジュールは目安であり、多少前後することがあります。
1. モバイルアプリ開発技術
2. モバイルアプリの開発環境と実行環境
3. モバイルアプリの画面デザイン開発(HTML/CSS)
4. グループ演習:画面デザインを開発する演習
5. DOM
6. イベントハンドリング
7. グループ演習:イベントハンドリングを使った演習
8. Web三層構造(クライアント/サーバ/データベース)
9. サーバとのデータ通信
10. データベースの設定
11. グループ演習:データ通信、データベースを使った演習
12. リッチな画面開発(CSSフレームワーク)
13. グループ演習:モバイルアプリの企画・開発
14. 発表・まとめ
授業時間外の学修の内容
その他
授業時間外の学修の内容(その他の内容等)
1. 復習内容
・授業で理解できなかった内容は、書籍やWeb上で調べ解消するようにしてください。それでも、理解できなかった点は、掲示板や次授業で質問してください。
・授業時間内で完成しなかったプログラムは、自宅等で完成させてください。
授業時間外の学修に必要な時間数/週
・毎週1回の授業が半期(前期または後期)または通年で完結するもの。1週間あたり4時間の学修を基本とします。
・毎週2回の授業が半期(前期または後期)で完結するもの。1週間あたり8時間の学修を基本とします。
成績評価の方法・基準
種別 | 割合(%) | 評価基準 |
---|---|---|
レポート | 40 | プログラム作成の課題を出す。課題作成にあたり、他人のレポートやネット上の答えのコピー&ペースト、ChatGPT利用による回答は発覚次第、単位取消などの措置が取られる。 |
平常点 | 60 | 授業への出席、貢献、受講態度ならびにグループ課題の取り組みによって評価する。参加率が7割に満たない場合は成績評価の対象外とする。 |
成績評価の方法・基準(備考)
1.自身もしくはグループで導き出したプログラムであること。
2.グループ演習を通じて積極性・協調性をもって取り組まれていること。
3.プログラムが正しく動作すること。
4.コーディングが題意に沿っていること。
5.コーディング規約を守っていること。
6.自分の言葉で問題の主題について説明していること。
7.自分の言葉で論理的に説明していること。
8.manabaの指定した機能を利用して提出すること。
9.manabaの締切までに提出すること。
課題や試験のフィードバック方法
授業時間に限らず、manabaでフィードバックを行う
課題や試験のフィードバック方法(その他の内容等)
アクティブ・ラーニングの実施内容
PBL(課題解決型学習)/ディスカッション、ディベート/グループワーク/プレゼンテーション/実習、フィールドワーク
アクティブ・ラーニングの実施内容(その他の内容等)
授業におけるICTの活用方法
その他
授業におけるICTの活用方法(その他の内容等)
・パソコン(PC)を利用してプログラミング実習を行います。
・課題の提示や提出、技術的ヒント、個別指導には、manabaの機能を使います。
実務経験のある教員による授業
はい
【実務経験有の場合】実務経験の内容
プログラミング経験について
学生
Web制作会社にて、PHP言語を利用したWebサイト制作をアルバイトとして行う。そこで、製品レベルのプログラミング経験を積む。
歯科系の私立大学の非常勤講師として、C言語をベースにプログラミングの考え方や文法を教える。
会社員
総合電機メーカーのソフトウェア系の研究所で、ソフトウェア開発の上流工程の研究を行うラボに新卒として入社。そこでソフトウェア要求工学の研究・学会活動を行う。応用研究を行う部署に異動となり、そこで、Webアプリ・モバイルアプリのフレームワーク、IoT、クラウド、AIなどの先行研究を行う。特にJavaScript言語を使って開発するハイブリッドモバイルアプリ開発において、社内向けの講習、開発支援を行うなどで貢献している。
現職である日本IBM株式会社に中途入社し、金融機関のモバイルアプリ開発案件のアーキテクトとして開発をリード。そこで、JavaScript言語とIonicというCSSフレームワークを使ったハイブリッドモバイルアプリ、iOSのSwift言語およびAndroid Java言語を使ったネイティブモバイルアプリを開発する。開発だけでなくUI/UXが優れたデザインのアプリを提供することで、関わった全てのプロダクトにおいてグッドデザイン賞を受賞。
その他
デジタルとアナログを融合した新しい教育を小学生向けに届けるNPO法人を設立する。テクノロジーの進化と教育のギャップを埋めたいという課題感と、「学ぶことの楽しさ」をもっと多くの人に届けたいという想いから活動する。定期的に、プログラミングの楽しさを伝えるため、ロボットプログラミングイベントを開催している。
東京都立産業技術高等専門学校にてロボットプログラミングの非常勤講師を兼任。
【実務経験有の場合】実務経験に関連する授業内容
プログラミングについては、アカデミックな研究活動から高い品質が求められる金融機関向けのモバイルアプリ開発まで経験したため、ただプログラミングの書き方を教えるのではなく将来実務で活かせる形で指導します。
そのため、どのような目的でプログラミングの文法を学んでいて、なぜプログラミングの結果がそのようになったのかを自身で腹落ちして説明できるレベルになるために、グループワークを盛り込んだアクティブラーニング形式で授業を行います。
現在、小学生向けにもプログラミングを教えていることから、難しいと思われがちなプログラミングにおいても噛み砕いて説明します。
自身のやりたいことを自分で作り上げたい方は、プログラミングというスキルを習得すると選択肢が増えるため、前向きに学習に励んでください。
テキスト・参考文献等
●参考文献
書名:「スラスラわかるJavaScript」新版 翔泳社(2022)
著者:桜庭 洋之、望月 幸太郎
ISBN978-4798173269
その他特記事項
1. 授業時間以外での連絡
manabaの以下の機能を利用します。
(1) 事務的連絡: コースニュース機能
(2) 技術的連絡: 掲示板機能(デフォルトでは通知メールが届きませんので、掲示板から通知メールが届くように設定してください。課題のヒントを見逃す等のないように)
(3) 個別の質問: 個別指導機能
2. 課題の提出
(1) レポート課題や小テストは締め切りぎりぎりではなく、ある程度余裕を持って提出してください。
(2) PCトラブルやネットワークトラブルが原因で締め切りに間に合わなかったとしても、原則として救済措置はいたしません。
(3) 健康上の問題については、他の科目にも影響があると思いますので、事務室や健康管理部署に相談してください。
(4) 部活動等で配慮措置願を提出した場合でも、課題の締め切りは守らなくてはなりません。
参考URL
Monaca Education
https://edu.monaca.io/