パソコンの操作に慣れ親しんでおきましょう。パソコンに不慣れな人は、用が済むとすぐにウィンドウを閉じてしまう傾向がありますが、それはあまり得策ではありません。プログラムを書いていると、コードを何度も編集することになります。その度に一々ウィンドウを開いていると面倒です。特に、後述のターミナルやエディタは無闇に閉じるものではありません。ウィンドウを開いたままでも、別のアプリケーションに移動することができるので、その機能を活用しましょう。邪魔なウィンドウは開いたまま見えなくすることもできます。
また、ウェブブラウザを使う能力が必要です。授業の情報はほとんど全てこのウェブサイトから入手しなければなりません。更に、トラブルにあったときには、ウェブ検索から解決策を見付けることも重要です。プログラミングでは、資料に掲載されていないトラブルに出会うことがよくあります。そういうときには、ウェブ検索がとても役立ちます。
加えて、タイピング速度もある程度速いことが望ましいです。タッチタイピング(キーボードを見ずにタイピングを行う事)ができない場合には、練習をしましょう。ネット上は様々なタイピング練習ゲームがあるので、それらを使って練習するのが良いと思います。
WindowsやMacでは、普段ファイル名の一部が隠されています。正式なファイル名のうち、ピリオドから後の部分は拡張子と呼ばれます。拡張子はファイルの種類を判別するのに役立ちます。
ディレクトリ(フォルダ)は、いくつかのファイルをまとめて入れておく入れ物のようなものです。ディレクトリをディレクトリに入れることもできます。また、ファイルやディレクトリは必ずどこかのディレクトリに入っています。入っているという関係を親子関係と呼びます。入れ物の側が親になります。ディレクトリの親を辿っていくと、有限回後にそれ以上別のディレクトリに辿りつけなくなります。そこをルートと呼びます。逆に、全てのファイルとディレクトリは、1つのルートから子を辿ることで到達可能です。
ルートから順に子ディレクトリ名を列挙したものを絶対パスと呼びます。絶対パスを表記する際には、ルートの名前は書かずに、ディレクトリの区切り文字に「/」を使います。絶対パスの始まりは「/」です。ルート以外のディレクトリから親子関係を辿る道筋を相対パスと呼びます。相対パスを表記する際は、始まりのディレクトリを「.」と書き表します。親は1つしかないので、親ディレクトリの名前は書かずに、「..」で表します。相対パスの最初の「./」は省略可能です。
各ユーザごとに、ホームディレクトリと呼ばれる特別なディレクトリが決まっています。様々な場合のデフォルトのディレクトリとして機能します。絶対パスの先頭がホームディレクトリと一致する場合、その部分を「~」と省略表記することができます。
シェルとは、コンピュータが人の命令を理解する仕組みの一つです。文字列を入力することで、シェルを介してコンピュータを操作することができます。シェルで扱うのは、主にファイルやディレクトリの操作です。普段マウスを使って行っている操作の多くはシェルでも可能です。プログラミング上達のコツはシェルの使い方にあるかも知れません。よく使うシェル命令については、別の資料で紹介することにします。
シェルには「今いるディレクトリ」という概念があります。シェルを起動したばかりのときには、普通はホームディレクトリにいます。
コンピュータを操作する方法は色々ありますが、この授業では主にターミナルというアプリケーションを使います。実は、ターミナルの中ではシェルが動いていて、人がキーボードで入力した命令をシェルが解釈して実行してくれます。Macのターミナルには、ウェブブラウザと同様のタブ機能が備わっています。複数のウィンドウを開く代わりにタブを利用してもかまいません。
エディタ: Visual Studio Code/Vim/Emacs
コンソースコードのようなテキストファイルを編集するためには、エディタと呼ばれる種類のアプリケーションを使います。この授業では、エディタとしてVisual studio Code、Vim、Emacsを推薦します。EclipseやXcodeといった統合開発環境を使えば、効率よくプログラムを書くことができますが、コンパイルなどの仕組みを適切に理解するためにエディタとシェルを組み合わせて使うことを推奨します。