プログラミング基礎講座 -本物のプログラマになるための基礎知識と作法の習得 -

概要

システム開発のライフサイクル中で、いわゆる「プログラマ」が担当している作業は意外と多いものです。なぜか「プログラマは(既に作成されている詳細設計に従って)単にコーディングだけを実施している」といった誤ったイメージが広がってしまっているため、多くのプロジェクトでは比較的経験の浅い{若手|新人}技術者がプログラマとしてアサインされ、ソフトウェア構築(ソフトウェア・コンストラクション)の作業を担当しています。

 

しかし、実際にプログラマが担当する作業には、コーディングの他に、ルーチン詳細設計、開発者テスト、デバッグ、リファクタリング、チューニング、等々、高い品質意識と経験が求められる高難度の作業が多く含まれています。経験の浅い若手技術者は、それらの作業/作法を習得しながら(翻弄されつつ)開発を進めますが、効率の良い手順/良い作法がしっかり修得される前に試行錯誤的に多くのソース・コードが作成されてしまうことになります。

 

しかし、実際にプログラマが担当する作業には、コーディングの他に、ルーチン詳細設計、開発者テスト、デバッグ、リファクタリング、チューニング、等々、高い品質意識と経験が求められる高難度の作業が多く含まれています。経験の浅い若手技術者は、それらの作業/作法を習得しながら(翻弄されつつ)開発を進めますが、効率の良い手順/良い作法がしっかり修得される前に試行錯誤的に多くのソース・コードが作成されてしまうことになります。しかも、その際に手本として参照されるのが、先輩プログラマが(やはり若手の時代に)試行錯誤的に書いた(決して作法が良いとは言えない)既存ソース・コードであったりすると、組織/チームとして良いプログラミング作法の定着/ソース・コード品質の向上がなかなか進まないどころか、悪い作法/品質低下が広がってしまうマイナス・スパイラルな状況に陥ってしまうこともあります

 

本講座は『プログラミング基礎講座』という名称になっていますが、その実質は『ソフトウェア構築基礎講座』とでも言えるような内容になっています。特定のプログラミング言語の構文や言語機能を解説するよくある「プログラミング入門」的な講座とは異なり、本講座では、特定のプログラミング言語によらないソフトウェア構築の基本的な考え方、要点、進め方、原則/ガイドラインといった基礎/作法の習得とソース・コード品質に対する強い意識付けにフォーカスします。ソフトウェア構築全般のうち、コーディング、デバッグを中心としたプログラマが担当する主要なアクティビティについて、演習を交えながら習得していきます。

 

本講座を受講することによって、高品質のソース・コードを高い効率で生産できるようになるためのいとぐちを掴むことができます。特に、真の(プロの)プログラマとして自立していくための最初の一歩として最適です。

日数
  • 1日
  • 2日
時間
  • 1日 7時間(9:00 ~ 17:00)
  • 2日 7時間(9:00 ~ 17:00)
教育受講料(税込)

1日:550,000円、2日:1,100,000

※想定受講者数は20名です。受講者数が20名を超える場合は費用が変わります。
※オンサイト・オンライン(Zoom等のオンライン会議システムを利用して実施可能)ともに同料金です。
※受講料は予告なく変更・改定する場合がございますので、あらかじめご了承ください。

対象者
  • プログラマとしてソフトウエア構築フェーズの作業を担おうとしている人/既に担当している方。
  • プロのプログラマとしての高い品質意識と良い作法を身につけたい中堅技術者/新人技術者。
  • ソース・コードの品質チェックをする役割を持つ人/レビュー担当者。
前提条件
  • 何らかのプログラミング言語による実装経験があること(講座受講レベルでも可)
  • できれば、Smalltalk, C++, Java, C#, Rubyなどのオブジェクト指向言語の知見があるとベター。
到達目標
  • プログラムに対する高い品質意識を持つようになること。
  • ソフトウエア構築に関して{プロジェクト|自組織}の弱いところを識別でき、改善の方向性を提示できるようになること。
  • ソフトウエア構築に関連するおもな概念、原則、手法、技法の概要を把握し、必要に応じて自分でさらに詳しく調べていけるようになること。
  • 各種の注意点やガイドラインを単に暗記するのではなく、それらの存在理由を理解すること。
講師より

本教育を受講することによって、高品質のソース・コードを高い効率で生産できるようになるためのいとぐちを掴むことができます。特に、真の(プロの)プログラマとして自立していくための最初の一歩として最適です。

内容

形式:講義+演習(個人/グループ)
1. はじめに


2. ソフトウェア構築とは


3. プログラム品質


4. チーム開発


5. コーディング
 1) 型の利用
 2) 変数の利用
 3) 制御構造の適用
 4) 名前付け
 5) コメント
 6) 防衛的プログラミング
 7) エラー/例外処理
 8) コーディング規約

 

6. テスティング


7. デバッグ


8. 最適化


9. リファクタリング


10. おわりに


付録