💡

[CS50x学習メモ] CS50

2023/01/23に公開

非エンジニアが、CS50に取り組んでみている話
もう遥か昔の大学での授業や仕事なり、電子工作なり、勉強がてらBOT作ってみたりと言語もスタイルも宗派もごちゃまぜスタイルすぎるのでどこかでしっかり基礎を学びつつ頭を整理したいなと思ったのがきっかけ。
これらの学習メモは自分の学習経過まとめと備忘録を兼ねています

CS50xとは

ハーバード大学が無償で公開しているComputer Scienceの講義
https://cs50.harvard.edu/x/2023/
「プログラミング経験の有無に関わらず受講でき、学生の2/3はCSの授業をとったことがない」という言葉を信じ、いままでいろんな言語やツールを齧って余計にごちゃごちゃになってしまった頭を整理しつつ、ちゃんと基礎から勉強し、せっかくなので一緒に英語も勉強しようという魂胆。
11週に渡る授業の動画を観て、課題を提出するところまで無償。
要件(全課題を70点評価以上)を満たせたら、edXから有償での証明書・修了書を発行することができる、MOOC(Massive open online course)の一つ
※設定されている締め切りを過ぎてしまっても提出済みの課題の進捗状況は繰り越しができる。週単位での繰り越しとなるので、提出状況には注意が必要。

※タイミングが合えば、オンライン授業ZoomやYouTubeの配信にも参加できる
(各SNSで先生が参加フォームなどのアナウンスをしていた)

今はまだWeek 3の途中くらいですが、講義の内容が面白くて分かりやすい
edXのほうでも動画などが見られるのですが、上に貼ってあるCS50xのURLからも講義内容・課題にアクセスでき、ViewerがYouTubeのため字幕(自動生成:英語, 自動翻訳)がつけられるので専らそこから受講しています

必要なこと・もの

・YouTubeやZoomが視聴できるネット環境
・Google chrome(最新版)。VSCode(ブラウザ版)や、Scratchが動かせるPC
・GitHub, edXなどのアカウント(メールアドレスがあれば作成可)

Weeks

受講を進めながら下記に学習メモを追加していきます

  • WEEK 0: Scratch
  • WEEK 1: C(1/2)
    [WEEK 1: C(2/2)]
  • WEEK 2: Arrays
  • WEEK 3: Algorithms
  • WEEK 4: Memory
  • WEEK 5: Data Structures
  • WEEK 6: Python
  • WEEK 7: SQL
  • WEEK 8: HTML, CSS, JavaScript
  • WEEK 9: Flask
  • WEEK 10: Emoji
  • Cybersecurity

上記10個のProblem setsと、9 Labsの課題、最終プロジェクトを提出することが必要。
Problem setsの中には、応用問題のような発展課題もあり、(こちらはオプションで挑戦し、提出できそうであれば提出する形)

課題提出のために、VSCodeのWEB版を使用しているのですがターミナルコマンドをうっかり忘れてしまわないように書いたメモ
VSCode(WEB版)ターミナルコマンドのメモ

Discussion