週末のアプリ作成

androidアプリ個人開発者の実態を報告します。アプリの収入も公開中です♪

新人教育 C言語課題

こんばんわ、TF's appsです。

 

今回は私の会社でも新人教育が始まり

講師役として説明している事もあり

【新人教育】【C言語課題】

について紹介したいと思います。

 

私は20年ほど前に初めてプログラムを覚えました。

その言語が「C言語」でした。

 

未だC言語が活躍する場は多く、

私の会社でも機械制御を扱うため

現在もこの言語を主流として使用しています。

 

1.参考書の紹介

20年前に私がお世話になった本を紹介します。

林晴比古さん監修のこのシリーズ

プログラムを1から学ぶには良本です。

読者レベルに応じて、ビギナー編、シニア編などもあり

理解度に合わせて選べます。

私はこのシリーズ本が他の言語も含めて5冊あります。

新C言語入門(スーパービギナー編)新訂 (C言語実用マスターシリーズ) [ 林晴比古 ]

価格:1,728円
(2019/5/5 21:17時点)
感想(1件)

 

 

2.教育内容(課題例)

まずは言語を覚える必要がありますので

一通りその知識があった上での課題とします。

 

私のオススメなのが「標準関数」を作る課題です。

 

・・・

・・・

「ん!?」

・・・

・・・

「例えば、strcpy関数」

自前で実装するという内容です。

 

もちろん、strcpyを使ってはダメですよ(笑)

できれば、可能な限りstrtok、memcpyなど

他の標準関数も使用せずに解くのを推奨します

 

自分でメモリマップを想像し

メモリを確保して、

条件文(例:if、for)、演算子(例:+、-)、

論理演算子(例:&&、||)などを駆使して

解くことがベストです

 

おすすめ理由としては

この課題は一通りの言語知識が入ってないと

解けないですし、何よりゴールが明確です。

 

成果物の確認は、同じインプットをして、

標準関数と同じ結果が得られるかそれだけです。

 

 

3.レビュー

新人さんが複数人いる場合は、ソースレビュー

をみんなでする事をお勧めします。

十人十色、必ずソースコードは異なります。

人のアルゴリズムを知ることは、凄く勉強に

なります。

 

自分の頭の中が覗かれているようで少し良い

気分ではないかも知れませんが(汗)

プロジェクトに入れば複数人で同じソース

コードを共有して作っていく事になりますので

大事なことです。

 

また自分のソースコードを説明する機会を

与えればプレゼン能力も向上します。

まさに一石二鳥です(^^v)

 

さらには不正メモリアクセスなどレビューで

見つける事ができれば、危険なコードを皆で

共有することができます。

 

もっと言えれば、プロジェクトに入れば目的

を達成するだけでなく、保守性の良いコード

も求められます。

他人が読みやすいコードは重要です。

そんなところまでレビューできればベスト

だと思います。

 

如何でしたでしょうか?

【プログラミング教育】について考えてみました。

 

実際私はこのような課題を出している側です。

教師側の立場としてもシンプルな内容で

効率的に教育できるので気に入っています。

 

ではまた次回お会いしましょう♪