Python の出題範囲 (シラバス) が発表されました
error
この記事は基本情報技術者試験の旧制度( 2022 年以前)の記事です。
この記事の題材となっている「 Python 」は現在の試験制度では出題されません。 ご注意くださいませ。
情報処理推進機構( IPA )が 7 月 1 日、先日の午後試験のプログラミング言語の見直し ( COBOL 廃止 / Python 追加) に関連して、 Python のシラバスを公開しました。
基本情報技術者試験( FE )の Python 追加に伴うドキュメント改訂について
令和 2 年度春期試験から実施する FE 午後試験のプログラム言語の選択問題の変更( Python 追加、COBOL 廃止)に関し、Pythonの言語仕様とシラバス(知識・技能の細目)を公開しました。
https://www.jitec.ipa.go.jp/ の新着情報より
この記事では発表された 基本情報技術者試験(レベル2)シラバス をもとに、他言語と比べてみることで、難易度や出題傾向を考えてみました。
プログラミング言語別 目標の違い
まずは試験を通じて、どのような技術と知識を身に着けてほしいのか、シラバスにある 小目標 をプログラミング言語別に比較してみます。
言語 | 目標 |
---|---|
Python |
|
Java |
|
C 言語 |
|
Java では “オブジェクト指向” が問われていることに対して、Python では “インタプリタ” 型言語が問われます。
続いて、Python で問題のテーマになりそうなところは、
数値計算,テキスト処理,データ処理など
とあり、この中でも “データ処理” とあるのが、一般的なものなのか、データサイエンスに寄ったところなのかどうかが気になるところです。
次のセクションで、Python の修得項目にどのように記載があるのか、確かめてみましょう。
Python のシラバスに示された知識と技術
Python のプログラミング問題で、具体的にどのような知識と技術が問われるのか、シラバスから転記しました。
-
(仕様) Python 3.7.3
-
(1)Python の基本的なプログラム
Python の基本的なプログラムを作成する修得項目インデントによるブロック表現,計算結果の表示,コメントなど
-
(2)演算子を用いた式の表現
四則演算や論理演算を用いた式を活用し,プログラムを実行モードや対話モードで利用する。修得項目整数,浮動小数点,式の表現,四則演算子,代入演算子,比較演算子,論理演算子,代入文など
-
(3)要素をもつデータ型
シーケンスなど,要素をもつデータ型を使ったプログラムを作成する。修得項目in ,リスト,文字列,タプル,辞書,集合,イテレータ,添字,キー,スライス,リスト内包表記など
-
(4)選択型のプログラム
条件式を使って条件分岐するプログラムを作成する。修得項目if 文など
-
(5)反復型のプログラム
反復型の制御文を使ったプログラムを作成する。修得項目for 文,while 文など
-
(6)組込み関数
型,リスト,文字の入出力,ファイル操作などに関する組込み関数の利用場面を理解し,プログラムを作成する。修得項目int ,float ,str ,list ,range ,enumerate ,zip ,len ,print ,input ,open など
-
(7)関数の定義
利用者の定義による関数を用いて構造化されたプログラムを作成する。修得項目def 文,return 文,ジェネレータ,yield 文,ラムダ式,再帰呼出し,デコレータなど
-
(8)クラスとオブジェクト
クラスを定義し,オブジェクトを生成してプログラムを作成する。修得項目クラス,オブジェクト,class 文,継承,クラス変数,メソッド,特殊メソッド __init__ など
-
(9)変数及び関数の値の取扱い
変数間の代入,オブジェクトの変更,関数の値の受渡しに注意し,プログラムを作成する。修得項目変数のスコープ,変更可能なオブジェクト,コピー,位置引数,キーワード引数,デフォルト引数,オブジェクトとしての関数など
-
(10)ライブラリの活用
問題解決のために適した代表的な標準ライブラリ又は外部ライブラリを利用し,プログラムを作成する。修得項目import 文,モジュール,パッケージなど
Java の場合は、これに加えて、”並列処理” があり、さらに “入れ子クラス” など Java 固有の機能が入っています。
label 関連記事:
Java プログラミング問題の難易度(1)Java 基本構文
それに比べると、Python の場合、並列処理はなく、”高階関数” など固有の機能も出題に含まれておらず (“内包表記” のような固有表現や Java では問われていない “ラムダ式” などはあります) 、比較的、素直に プログラミングの基礎能力のみ が問われそうです。
ただ、先程挙がったデータサイエンス寄りの出題になるかどうかは、関連がありそうな “ライブラリの活用” というところからは判断できません。
label 出展:
基本情報技術者試験 Ver7.0PDF形式
10 回分の Java の出題テーマから考える Python で問われそうなこと
Python の出題テーマはシラバスからは判断できないため、Java を例に過去にどのようなことが問われたのか確認し、推察してみます。
年度 | テーマ | 分類 |
---|---|---|
H26春 | 雑誌記事のオンライン購読サイト | オブジェクト指向、API |
H26秋 | 可変オブジェクトとその問題点 | アルゴリズム、オブジェクト指向 |
H27春 | セキュアプログラミング | オブジェクト指向、API |
H27秋 | ブロックのデータのキャッシュ管理 | アルゴリズム、オブジェクト指向、API |
H28春 | “すべきこと”の管理 | アルゴリズム、API |
H28秋 | 電卓プログラム | アルゴリズム、API |
H29春 | 電気料金プランの比較 | アルゴリズム、オブジェクト指向 |
H29秋 | 文字列の整列 | オブジェクト指向、API |
H30春 | 表現式を構築するためのライブラリ作成 | アルゴリズム、オブジェクト指向 |
H30秋 | 書式を表すひな型への置換表の適用による文書の作成 | オブジェクト指向、API |
H31春 | 迷路と迷路上を移動する駒 | アルゴリズム、API |
label 出展:
過去問10回分から分析した午後問題の出題傾向 (2019 春期試験 更新)
目次 9 Java の出題傾向(午後 問 11)
Java では出展記事にもある通り、 「アルゴリズム」「オブジェクト指向」「 API の使い方」 が出題されています。
ここから推察すると、Python では、
「アルゴリズム」
「インタプリタ型」
「ライブラリの使い方」
になるでしょうか。
( Python において、「オブジェクト指向」はプログラムを読むのに必要だが、設問で問われることはない、と推察しています)
インタプリタ型の出題というと、REPL で対話式に実行するような問題が考えれますね。個人的には、2 ~ 3 ページあるプログラムを読むより,とても読みやすくなりそうで期待大です。
また、「ライブラリの使い方」に Numpy や Pandas などが入ってくると、「ライブラリの使い方」から、より具体的に「データサイエンスの進め方」が問われる、ということになりそうです。
今後の予定
このあと、10 月に サンプル問題 (例題) が発表される予定です。
どのようなライブラリが問題の中に入ってくるのか、とても楽しみですね!!
基本情報技術者試験 受験ナビでは、ひきつづき、アップデート情報をお知らせしてまいります。
label 関連タグ
免除試験を受けた 74.9% の方が、 科目A免除資格を得ています。
基本情報技術者試験 科目A免除試験(修了試験)の講評 ~ 2024年7月28日実施
update令和6年度 基本情報技術者試験 公開問題の講評
update基本情報技術者試験 科目A免除試験(修了試験)の講評 ~ 2024年6月9日実施
update基本情報技術者試験のシラバス改定|Ver9.0の概要
update基本情報技術者試験 科目A免除試験 (旧 午前免除試験) の講評 ~ 2024年1月28日実施
update基本情報技術者試験 科目A免除試験 (旧 午前免除試験) の講評 ~ 2023年12月10日実施
update基本情報技術者試験 科目A免除試験 (旧 午前免除試験) の講評 ~ 2023年7月23日実施
update新制度・基本情報技術者試験の過去問(公開問題)からわかる難易度と対策
update新制度・基本情報技術者試験 6月の合格率も 52.7% と高水準が続く
update基本情報技術者試験 新制度で出題された過去問題を IPA が公開
update- 基本情報技術者試験 の受験勉強をレポート頂ける方を募集中です!
- ツイッター で過去問を配信しています
姉妹サイト 「IT資格の歩き方」 では応用情報技術者以上の情報処理技術者試験の対策記事があります!
基本情報技術者試験を合格されたら、「IT資格の歩き方」で末永く、スキルアップにお役立てください!