こんにちはEigemannです。
(English below)
1993年の夏学期から、Indiana Universityで授業を受け始めた。夏学期に履修できるコンピューターのクラスが限られていたのか、それとも履修の順序を間違えたのか、なぜか非常に難しい授業からスタートしてしまった。それは、Motorola 68KのMPUを使ったアセンブリ言語の授業だった。
コンピューターの内部構造やプログラミング言語に詳しい人にとっては、これを最初に学ぶのが妥当だと思えるかもしれない。しかし、当時の自分はBASICの初歩しか知らず、レジスタやインタラプションといった概念が全く理解できなかった。この授業の最終課題は、ゲーム「ミサイルコマンド」を作ることだった。ゲーム開発など全く経験がなく、自分には不可能に思えた。
それでも、難しいからといって最初から諦めるのは浅はかと思い、とりあえず授業に出続けた。授業後にはほぼ毎回オフィスアワーを利用して先生に質問しまくった。授業を受けていたのは4人程度だったが、そのうちの1人である中国人留学生も毎回オフィスアワーに来ていたので、彼もこの授業を難しいと感じていると分かり、少し安心した。最終的には、クラスに残っていたのは3人だけだった。
最終課題のミサイルコマンドは、時間が足りないという先生の判断で、紙の試験形式のファイナルに変更された。結局、良い成績は取れなかったが、この学部でやっていけるかどうか不安を感じた。新学期が始まると、LISPのScheme、その後はC言語、C++といったプログラミング言語の授業に移っていった。
今振り返ってみると、なぜ学部がこのような順番でコースを設定していたのか理解できるが、当時は全く分からなかった。自分が基礎クラスを取り忘れたのか、そもそもそういうクラスがなかったのか覚えていないが、もっとコンピューターの基礎知識を教える授業があっても良かったと思う。例えば、CPU、RAM、ROMなどのパーツの役割についての説明などがあればよかった。学部としては、そのレベルの知識は自分でPCを組み立てて学んでくれという感じだったのかもしれないが、当時は自作PCは今ほど簡単にできるものではなかったし、YouTubeのような解説動画も存在しなかった。
インターネットについてもっと学びたかったが、どちらかというとアプリケーション開発者を目指すためのプログラムが多かった。サーバーとクライアントの通信についての知識は、実際に企業で働き始めてから必要になったが、大学の授業では学ばなかった。まだインターネットが黎明期だったことも一因だろう。意欲のある学生は、自らネットのフォーラムなどで情報を得ていた。自分が初めてPCを購入したのはかなり後になってからで、日々進化するPCやネットの世界に遅れを感じていた。
(続く
----------------
In the summer of 1993, I started taking classes at Indiana University. Whether it was because there were limited computer courses available in the summer, or because I misjudged the order of classes I should take, I ended up starting with an extremely difficult course. It was a class on assembly language using the Motorola 68K MPU.
For those who are knowledgeable about computer architecture and programming languages, starting with this subject might seem reasonable. However, at the time, I only had a basic understanding of programming from using languages like BASIC. Concepts like registers and interrupts were completely foreign to me. The final project for this course was to create a game called "Missile Command." I had no experience in game development, and it seemed like an impossible task.
Still, giving up just because the class was difficult would have been foolish, so I kept attending. After almost every class, I made use of the professor's office hours, bombarding him with questions about the material. There were only about four students in the class, and one of them, a Chinese international student, was also regularly attending office hours, which gave me some reassurance that I wasn’t the only one struggling. In the end, only three students remained in the class.
As for the final project, the professor decided that there wasn't enough time, so the final was switched to a written exam instead of creating the Missile Command game. I didn’t get a very good grade in the class, which made me question whether I could continue in this department. After the new semester started, we moved on to courses in LISP’s Scheme, followed by C and C++.
Looking back now, I understand why the department set up the courses in this sequence, but at the time, it made no sense to me. I don’t remember if I missed the foundational classes or if such classes weren’t offered, but I felt that there should have been more classes that taught basic computer knowledge. For example, explaining the roles of parts like the CPU, RAM, and ROM would have been helpful. It seemed like the department expected students to figure this out by building their own PCs, but back then, building a custom PC wasn’t as easy as it is now, and there were no tutorial videos like YouTube.
I wanted to learn more about the internet, but most of the courses focused on programming to become an application developer. I didn’t learn much about client-server communication, which I later realized was essential when I started working for a company. The internet was still in its infancy at the time, which may have contributed to the lack of focus on it. Those who were motivated sought out information on their own through online forums. I didn’t get my own PC until much later, and by then, I could feel myself falling behind as the world of computers and the internet rapidly evolved.
To be continued.