コンテンツにスキップ

ソフトウェア1 (2022)

本サイトは、東京大学工学部電子情報工学科・電気電子工学科の進学内定者(2年生、A1ターム)を主たる対象としたソフトウェア1の講義ページです。C言語の基礎を勉強します。

電気系の学科のslackにて講義に関する通知を行うので、常時学科slackをチェックするようにしてください。 電気系の学生は既に全員slackに招待されるはずですが、もし招待されていなければこちらを参考に入ってください。 電気系以外の学生も、上記リンクを参考に入ってください。講義を受講する学生なら誰でも参加出来るという運用になっています。

本サイトは2022年度版です。2023年度版はこちら

ニュース

講義担当

工学部電子情報工学科 講師 松井勇佑 (連絡先:matsui at hal.t.u-tokyo.ac.jp)

講義の目標

  • UNIX環境におけるプログラミングの作法や基本概念を理解する。
  • C言語の基本的な文法を習得する。特に、ポインタを理解する。
  • Git/GitHubを題材に、バージョン管理の概念を習得する。

講義の時間と受講方法

  • 講義の時間
    • 毎週木曜日 3限と4限
    • 3限:13:00-14:45
    • 4限:14:55 - 16:40
  • 場所
  • 講義の形態はオンサイト開催ですが、初回だけzoomなので注意してください。ZoomアドレスはUTAS (ITC-LMS)で確認してください。
  • 講義では、講義室にて松井が本サイトの内容を解説しながら読み進めます。ところどころで実装パートがありますので、そこで受講者の皆さんには手を動かして実際にプログラミングをしてもらうというスタイルで講義を進めます。
  • 2名のTAがいます。講義中でわからないことがあれば、松井またはTAに聞いてください。直接尋ねてもいいですし、slackに書き込んでもいいです。slackには授業時間外でもいつでも質問を書き込んでいただいて構いません。

プログラミング環境

  • プログラミングを行う環境として、ローカル環境、オンライン環境の二通りがあります。どちらで行ってもよいです。
    • ローカル環境:目の前の自分のコンピュータでプログラミングします。情報教育棟でマックを使う場合はこちらです。家で自分のコンピュータ上でプログラミングする場合もこちらです。
    • オンライン環境:遠隔のコンピュータにブラウザ経由でログインしてプログラミングします。Google Cloud Shell Editor というサービスを用います。第一回授業はzoomなので、基本的に全員こちらになります。
  • タブレットやスマホでプログラミングを行うことは推奨しません。
  • 第一回で説明しますが、コードの提出のためにGithubアカウントを準備してもらいます。Github Classroomという仕組みでコードを提出してもらいます。

成績評価

成績は以下の二つを考慮して決めます。

  • 毎週簡単な宿題(プログラミング課題)を出します。
  • 最後に最終課題およびレポートを課します。

スケジュール

Week 1 (2022/10/6)

ターミナル、コマンド、コンパイル、データ型、GitHubの準備

Week 2 (2022/10/13)

演算子、制御、配列、関数

Week 3 (2022/10/20)

文字列、型変換、入出力、printf詳細

Week 4 (2022/10/27)

ポインタ

Week 5 (2022/11/3)

ポインタ応用、コマンドライン引数

Week 6 (2022/11/10)

構造体、ビット演算、ライブラリツアー

Week 7 (2022/11/24)

バージョン管理(Git/GitHub)、入出力のまとめ、Cのその他の重要機能、

教科書・参考文献

関連講義