プログラミング創造演習(CSC.T.244) 2024年度
お知らせ
- 履修希望者は以下の登録フォームに必要事項を記入してください.〆切は2024年4月11日(木) 10:00です.
- 登録フォームのURL
- 初回(2024年4月8日5-8限)は休講としますが,この時間に行われる「手続き型プログラミング基礎(CSC.T243)」の初回で本演習についての説明をしますので,履修希望者はそちらに参加してください. 「手続き型プログラミング基礎(CSC.T243)」の初回の場所はWL2-201(旧W621)講義室です.
この演習について
本演習は,系配属の時点である程度プログラミングの経験がある人を対象とします. 履修者が自ら設定した課題を実行することで,プログラミングに関するより高度な知識および技術を身に着けることが本演習の目的です.
本演習を履修するにあたり,履修希望者のプログラミング経験について担当教員が確認します. 具体的には,簡単な問題を解いてもらったあとに面接(今年度はオンライン面接)を行います. 履修が許可された人は,担当教員のアドバイスのもとに各自の課題を設定してもらいます.
課題の例
- 新しいソフトウェアの設計と実装
- ゲーム,ソフトウェアツール,言語処理系(インタプリタ,コンパイラ)等,なんでも.
- これまでに作成したソフトウェアのさらなる改良
- プログラミングコンテストあるいはセキュリティコンテストに向けた実習
- コンテスト参加,AtCoder(あるいは他の競技プログラミングサイト),蟻本
- 新しくプログラミング言語を学ぶ,新しく学んだ概念を使ってプログラムを書いてみる
課題は以上に限りません. よいテーマが思いつかなかったら担当教員が手助けします.
過去のテーマは以下の通りです.
- 深層学習コンパイラの開発
- 3次元版ライフゲームにおけるパターン探索ツールの開発
- 機械学習を用いた軽量な異常検知システムの開発
- 麻雀アルゴリズムの実装
- 競プロ用コードエディタの開発
- RISC-V実装
- タスク管理iOSアプリの作成
- パズルゲーム「ぷよぷよ」の連鎖構築ソフトウェアの作成
- 画像認識タイプのAR技術の学習
- 小説自動生成器の作成
- ユーザーの顔データとヘアモデルの髪データに基づく似合う髪型判定AIの開発
- q-binomial coefficientの効率的な計算
- Rust を用いた競技プログラミング
- 競技プログラミング演習(レベル上げ等
- Cコンパイラ作成
- GolangのSQLBoiler制作
- Androidスマホを用いた無線マウス作製
- WebGLを用いた3DCGエンジン作成
- 画像認識を応用したジェスチャー分類及び、AR等への活用
- 競技プログラミングを通したグラフ理論入門
- 競技プログラミング関連(過去問演習・レベル上げ等)
注意
CやC++によるプログラミング経験はないが(他の言語によるプログラミング経験があり)本演習の履修を希望する人は,期間中にCによるプログラミング手法を身に付けるようにしてください.情報工学系の学部講義では,Cによるプログラミングを習得したことを前提とした講義(例えば「データ構造とアルゴリズム(CSC.T271)」,「アセンブリ言語(CSC.T262)」,「システムプログラミング(CSC.T344)」,「コンパイラ構成(CSC.T372)」,「システムソフトウェア(CSC.T371)」など)が多いため,これらの履修に支障をきたさないようにする必要があります.メモリ管理やポインタなどの理解も必須です.
履修の流れ
- 登録フォーム記入(〆切:2024年4月11日(木) 10:00)
履修希望者は,まず上記リンク先の登録フォームに必要事項を記入してください. この登録フォームは,(1)氏名・学籍番号・メールアドレス等の情報と,(2)プログラミングに関するバックグラウンドの調査(アンケート)からなります.(2)では,現在までのプログラミング経験年数と使用したことのあるプログラミング言語に加え,いままでプログラミングに関してどのような勉強をしてきたかと,プログラミングに関するいままでの成果を記入してもらいます.本登録フォームの回答を本演習の成績に反映させることはありません. - 面接(2024年4月11日(木) 5-8限・M-156講義室)
登録フォームに回答した人を対象に面接を行います.今年度(2024年度)は登録フォームへの回答内容とこの面接にもとづいて履修者を決定し通知します.履修が許可された人は履修登録を行ってください(本登録フォームは履修登録ではないので注意してください).面接会場等については対象者にメールで案内します. - 課題設定の準備(2024年4月15日(月) 7-8限・M-156講義室)
担当教員が課題設定方法について説明し,履修者は各自の課題を設定します. また,履修者は本演習のGithubグループおよびSlackに参加してもらいます. - 課題への取り組み 各演習回において,履修者は各自の課題を進めます.
- 中間発表会・成果発表会
第1クオーターおよび第2クオーターの最後に,それぞれ中間発表会と成果発表会を行います.
担当教員
- 権藤克彦・西崎真也・渡部卓雄・中村誠希(情報工学系)
講義時間・講義室
- 1Q: 月曜7-8限・木曜5-8限, 2Q: 月曜5-8限・木曜5-6限
- 講義室:M-156(旧H1103)
予定
今後変更がある可能性もありますので,本WebサイトやSlack等でのアナウンスに注意してください.
- 4/8(月) 7-8 休講(「手続き型プログラミング基礎」初回で本演習の案内をします)
- 4/11(木) 5-8 履修希望者面接(面接会場等については対象者にメールで案内します)
- 4/15(月) 7-8 課題設定準備
- 4/18(木) 5-8 課題への取組み
- 4/22(月) 7-8 課題への取組み
- 4/25(木) 5-8 課題への取組み
- 5/2(木) 7-8 課題への取組み(この日は月曜の授業を行う)
- 5/9(木) 5-8 課題への取組み
- 5/13(月) 7-8 課題への取組み
- 5/16(木) 5-8 課題への取組み
- 5/20(月) 7-8 課題への取組み
- 5/23(木) 5-8 課題への取組み(中間発表会準備)
- 5/27(月) 7-8 中間発表会準備(中間発表会予備日)
- 5/30(木) 5-8 中間発表会(M-156)
- 6/10(月) 5-8 課題への取組み
- 6/13(木) 5-6 課題への取組み
- 6/17(月) 5-8 課題への取組み
- 6/20(木) 5-6 課題への取組み
- 6/24(月) 5-8 課題への取組み
- 6/27(木) 5-6 課題への取組み
- 7/1(月) 5-8 課題への取組み
- 7/4(木) 5-6 課題への取組み
- 7/8(月) 5-8 課題への取組み
- 7/11(木) 5-6 課題への取組み
- 7/18(木) 5-6 課題への取組み
- 7/22(月) 5-8 課題への取組み(成果発表会準備)
- 7/25(木) 5-6 成果発表会準備(成果発表会予備日)
- 7/29(月) 5-8 成果発表会(M-156)
関連講義等
- CSC.T243: 手続き型プログラミング基礎
- CSC.T253: 手続き型プログラミング発展
成績評価
- 中間報告と最終報告による.
関連・参考サイト
- 本演習のGithubアカウント: http://github.com/titech-cpp/
- 手続き型プログラミング基礎: https://sites.google.com/ar.c.titech.ac.jp/programmingc-1q24