情報システム基礎I(スクーリング前半)

情報システム基礎Iのスクーリング前半2日間に行きました。

今回は全部で4日間の講義があり、前後半2日ずつに分かれていて、後半は2週間後です。

簡単に習ったことをまとめておきます。

1日目

1日目には全体の説明などがあり、それ以降は実際にProcessingを使って学びました。

  • 科目の内容や位置付けなどの説明
  • プログラムで書くことの利点と欠点(簡単なグループワーク)
  • 点の描画
  • 変数
  • 分岐(if文)
  • 論理式
  • 直線の描画

2日目

2日目からは2つのグループに分かれて講義を受けます。ただ、使用している資料は同じで、進み具合もほぼ同じようでした。

  • 折れ線(vertex)
  • 関数
  • 配列
  • 乱数
  • 繰り返し文(for / 少しdo while)
  • 曲線の描画(スプライン曲線)
  • 面(三角形、長方形、多角形)

前半は、Processingの勉強というよりもプログラミングの勉強が多めの印象で、所々で習ったことをプログラムで使う課題がありました。

そのほかに、前半と後半の間に1つ課題提出があります。 進み具合によって課題は変わるようですが、今回は1,000個の六角形を描くプログラムを作ることでした。

f:id:ArtificialArts:20180611205917j:plain

また、今回初めて学んだfor文の書き方がありました。

for文をで配列を取り出すとき専用の書き方で、配列の0番から要素をすべて取り出すとfor文から抜けます。

int[] size = {100, 200, 300, 400, 500};
for (int s: size) {
        println(s);
}

この場合、コンソールには100、200、300、400、500が表示されます。

通常のfor文で書くと下記のようになります。

int[] size = {100, 200, 300, 400, 500};
for (int i = 0;i < size.length; i++) {
        println(size[i]);
}

調べてみると、Javaでは「拡張for文」、C++では「範囲ベースfor文」と呼ばれるものでした。C#Javascriptforeachと同じです。(C++でもforeachが使えますが、非推奨となっていました)

配列に対するfor文であれば短く書けるため、配列を取り扱う際に試してみようと思います。


講義の最後に作る作品のテーマもすでに決まっているため、2週間の間にアイディアを考えておこうと思います。

少し先ですが、後半のスクーリングも楽しみです。