タグ

ocamlとProgrammingに関するbrendonのブックマーク (4)

  • 「プログラミングの基礎」を使った授業紹介

    「プログラミングの基礎」を使った授業紹介 浅井 健一 このページでは、お茶の水女子大学、理学部、情報科学科の2年生を 対象とした授業「関数型言語」のビデオほかを公開しています。 この授業は反転授業 (flipped class) を行っており、 受講生は授業前に以下の予習を求められます。 毎回の授業用に用意されたビデオを見て、 予習クイズに答えること。 教科書の該当部分を読んで、 教科書問題に答えること。 授業時間中は特に内容の説明はせず、 受講生は別途、示される練習問題とレポート問題を各自、解きます。 その際に生じた疑問点等について授業で個別に対応しています。

  • オブジェクト指向や関数型は「敗者の道具」である

    私は「もし完全無欠のプログラマがいるとしたら、どんなプログラマだろう」と夢想することがあります。「完全無欠のプログラマ」と聞いてどんなプログラマをイメージするかは人によって異なるでしょう。「難しいアルゴリズムを使いこなしてすばらしいプログラムを書く人」を想像する人もいるでしょうし、「チーム内のプログラマの能力を極限まで引き出して最良の結果を生み出す人」といったチーム寄りのイメージを持つ人もいるかもしれません。 「オブジェクト指向プログラミングや関数型プログラミングをバリバリ使いこなして優れたソフトウエアを作る人」というイメージを持つ人もいると思います。しかし、ちょっと考えてみると、これはおかしな話です。なぜなら、オブジェクト指向プログラミングも関数型プログラミングも、「人間がコンピュータの挙動をすべて把握することはできないことを前提に、そうした人間であっても良いプログラムを作れるように編み

    オブジェクト指向や関数型は「敗者の道具」である
  • お茶の水女子大学 理学部 情報科学科 准教授 浅井健一さんインタビュー

    プログラミングをどのような観点に着目して学生に学んでほしいとお考えですか?またそれを落とし込むためのどのような教育を実施していますか? 何かしらのソフトウェアを制作する際、それが何をするものなのか、一番外側の部分をしっかりと把握して全体をとらえること、それを構造的に分解して個々のパーツをきちんと組み上げること、そして最後にきちんとテストをして正しく動くことを確認するという流れをしっかりと学んで欲しいです。 そのために、お茶の水女子大学 理学部 情報科学科では C を中心にしつつ Java や関数型言語 OCaml などいろいろな言語を使って講義をしています。 C では、ポインタ操作やメモリ構造を意識したプログラミングなど低レベルの記述を求められますが、情報科学科を卒業したからにはそういったことも扱える人になって欲しいです。 一方で、より抽象度の高い言語を使うことで、細部にとらわれずに高度な

    お茶の水女子大学 理学部 情報科学科 准教授 浅井健一さんインタビュー
  • 私が愛するオブジェクト指向とそれを使わない理由 - takuto_hの日記

    この記事では、私がオブジェクト指向のどこを愛しどこを素晴らしいと感じていて、そのうえでなぜオブジェクト指向を使うことを避けているのかを書き留めておきます。関数型言語使いの方で、「オブジェクト指向の何がいいのかわからない」「オブジェクト指向難しすぎ・複雑すぎ」とおっしゃる方にぜひ読んでいただきたいと思っています。また、「オブジェクト指向言語完璧に理解したわ」と思っている方にも読んでいただきたく思います。 なお、ここでのオブジェクト指向の定義は、「各言語でオブジェクト指向と呼ばれているものすべて」とします。JavaScalaJavaScriptやSmalltalkやRubyやCommon LispやOCamlがオブジェクト指向と呼んでいるものすべての総称です。もっとまともな定義が知りたい方は以下の記事がおすすめです。 オブジェクト指向の概念の発明者は誰ですか?(改訂版) - Smallta

    私が愛するオブジェクト指向とそれを使わない理由 - takuto_hの日記
  • 1