高専(高等専門学校)は、中学卒業後の5年間で専門的な技術や知識を習得できる学校です。工業や技術の分野に特化しているため、プログラミングも多くの学科で重要な要素となっています。今回は「高専生はプログラミングできるの?学ぶの?」という疑問に、カリキュラムの中身や学科ごとの授業の違い、そしてプログラミングができる人とできない人の違いについて詳しく解説します。
- 高専ってどんな学校?プログラミングの授業はあるの?
- 学科によってプログラミングの学び方はどう違うの?
- プログラミングが得意な人とそうでない人の違いって何?
こんな疑問や不安を持っている人に読んでほしいです!!

高専生はプログラミングできるの?
高専生は、プログラミングの基本から応用まで幅広く学び、実際にプログラムを組む力を身につけています。ただし、どの程度のプログラミングができるかは、所属する学科や専攻、授業外での取り組み、そして学生自身の「学ぶ気持ち」に大きく左右されます。
高専のカリキュラムにおけるプログラミングの位置づけ
高専のカリキュラムは、実践的な技術者育成を目指して組まれており、プログラミング科目もその一環として重要視されています。
1〜2年次には、全学科共通の「情報リテラシー」や「プログラミング基礎」といった科目で、パソコンの使い方やOffice356の使い方(Word・Excel・Teamsなど)を学びます。しかし、高専や学科によってはない場合もあります。
情報系学科
情報工学科では、コンピュータサイエンスの基礎からアルゴリズム、データ構造、オブジェクト指向プログラミングまで、体系的にプログラミングを学びます。Java、C言語、Pythonなど複数の言語が用いられ、実際に大規模なソフトウェア開発の手法や、ハードウェアに近いプログラミングも経験します。
1・2年生で基本的なプログラミングの内容について学んだ後に3・4年生でハードに近い分野からソフトウェアに近い分野まで座学と演習によって学習します。そして5年生では今まで学んできた内容を活かして卒業研究という形で発表します。
電気・機械系学科
電気電子工学科や機械工学科では、プログラミングは必ずしもメイン科目ではありませんが、シミュレーション(MatlabやPythonを利用)やロボットなどの制御システムの設計のためにプログラミングの基礎が組み込まれています。実験や実習を通し、並行して学ぶことで、実際の問題解決にどのようにプログラムが役立つかを理解します。
その他学科
その他の学科では、プログラミングの授業は選択科目や教養科目として位置付けられることが多く、ExcelやRなどの統計ソフトの利用を通じて基本的なITリテラシーを学ぶケースも見られます。また、実験・開発・制作を行う上でCADなどの専用のソフトウェアを用いることが多くあります。
学科におけるプログラミングの授業の違い
プログラミングの授業は学科・専攻によって大きく異なります。
情報系学科
情報系学科は、プログラミングの授業に力を入れており、このような特徴があります。
多言語の習得:
低レイヤー(ハードウェアに近い分野)を扱うC言語、オブジェクト指向を学ぶJava、Web開発やデータ分析に使われるPythonなど、実社会で活躍するための多様なプログラミング言語を学びます。多様なプログラミング言語の中で共通する点、異なる点を比べることによってプログラミング言語の背景やプログラミング言語の適切な使い方についても実践的に学ぶことができます。
実践重視のカリキュラム:
講義だけでなく、プログラミング実習やコンテスト、プロジェクトベースの授業を通じて実際に手を動かし、論理的な考え方を養います。単にプログラミングを行うことが目的ではなく、要件定義(何が必要なのか)をして、技術選定(何を使うのか)、設計の後にプログラミングを行います。
最新技術への対応:
AIやビッグデータ、IoTなど最新のトレンドに基づく技術やアルゴリズムも学習し、将来の技術者としてのスキルアップを目指します。
電気・機械系学科
これらの学科では、プログラミングの位置づけは情報系ほど深くはないものの、プログラミングに触れる機会があります。
シミュレーション・制御:
工学実験の中で、PythonやMATLABを用いたプログラムによるシミュレーションが行われます。例えば、電気回路の解析やロボットの制御プログラムは、プログラミングを使ってリアルタイムでデータを処理する方法を学びます。
現場で使える技術:
実際の開発や研究活動の中で、プログラムを組むことで自らの設計したシステムの挙動を確認し、問題解決能力を向上させるための実践的な授業が多いです。
その他学科
プログラミングに直接関わる機会は他の学科に比べると少なめですが、基礎的な内容については扱います。
基礎的ITリテラシー:
高専共通の教養科目として、Excelの関数や基礎的なコンピュータ操作、場合によっては簡単なプログラミング(スクラッチ等)や情報セキュリティに関する内容を学習するケースがあります。また、高専によってはITエンジニア向けの就職・学習サービスのpaizaを用いてプログラミングを学びます。
将来のための知識:
ITの知識はほぼ全ての分野で必要となるため、最低限のプログラミングや情報活用、Office365(Word・Excel・Teamsなど)等のスキルは学科を問わず勉強することが多いです。

プログラミングができる人とできない人の違い
どの学科でも、授業で習う内容は同じでも、実際に「できる」人と「できない」人がいます。その差はここにあると考えています。
授業外での自主的な取り組み:
部活動への参加や、プログラミングコンテスト・ハッカソンに関わるなど、授業以外で自分から取り組む人は、技術の習得が早くなります。また入賞すると、高専生活で使える実績を手に入れることができます。
継続的な学習意欲:
授業で習った内容を復習し、分からない部分を自ら調べたり、友達と議論したりする意欲があるかどうかが大きな差となります。
問題解決への粘り強さ:
プログラムはバグがつきものです。エラーを見つけ、原因を探るプロセスを楽しみながら取り組むことができる人は、結果としてプログラミング能力が向上します。
プログラミングの試験ってどんな感じ?大変?
高専のプログラミングの授業では演習やプログラム開発に加えて、コーディング(プログラムを書くこと)の試験が行われることがあります。コーディング試験は、単に知識を丸暗記するだけではなく、実際に手を動かして問題を解く実践的な内容が多く出題されます。
実践的なコーディング問題:
試験時間内に、実際にコードを書く課題が出されることがあります。エラーがないか、正しいアルゴリズムが組めているか、プログラムの動作を紙上またはコンピュータ上で確認しながら解答するスタイルです。初めは慣れない書き方や、デバッグのプロセスに戸惑うかもしれませんが、現場で求められる実践力をつける良い機会となります。
少し難しいですが、例題としてこのような問題があります。
2つの正整数の最大公約数を求める算法(アルゴリズム)として有名なユークリッドの互除法により、最大公約数を求めるプログラムを作りなさい。プログラムでは2つの正整数はキーボードから入力するものとする。検証は2つの例(72と42、256と72)について行いなさい。 |
アルゴリズムや論理の理解を問う問題:
プログラムを組むだけでなく、どのようなアルゴリズムが効果的か、または入力に対してどのような処理が必要なのかを論理的に説明する問題も出されます。単なるコーディング力だけでなく、問題解決へのアプローチや論理構築力が評価のポイントとなります。
手書きでの解答が求められる場合:
実際にPCでコードを書くのではなく、手書きでプログラムを記述する試験もあります。手書きの場合、コンパイルエラーの指摘や動作確認ができない分、コードの構造や記述の正確さ、アルゴリズムの説明が特に重要視されるため、普段のプログラミング練習とはまた違った難しさがあります。
ペアレビューやグループディスカッション形式:
一部の試験では、友達同士で自分の書いたコードや考えを見せ合い、どのように改善できるかを議論する形式も取り入れられることがあります。こうした形式は、自分一人で解答する場合と比べ、さまざまな考え方を知る良い機会となると同時に、コミュニケーション能力や論理的思考の整理にも役立ちます。
まとめ
高専生は、学科や専攻に応じたカリキュラムの中で、基礎から応用まで様々な形でプログラミングを学んでいます。そのため、情報系の学生はもちろん、電気・機械系の学生でも実際にプログラムを組んでシミュレーションやシステム制御に役立てる技術を習得しています。
また、授業外で自発的に取り組む姿勢や、問題解決への情熱が、プログラミングが得意かどうかの大きなポイントとなります。どの分野であっても、技術を使って自分のアイディアを実現する楽しさを体験できるのが高専の魅力です!
- 興味を持ったら、まずは簡単なプログラムを触ってみよう!
- わからないことは調べたり、友達と話し合って解決しよう!
- 自分のペースで楽しみながら、未来の技術者を目指そう!

ライター情報
熊本高専 人間情報システム工学科
ハルキ
情報系の高専生。趣味は写真。