![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?a65a0e2)
プログラミングについてです。
大学の情報系に進学しており、当然プログラミングの授業があります。去年の後期と今年の前期でC言語を学びました。正直プログラムを作ることは全然できません。しかし、テストは過去問に目を通して覚えることなどでその場しのぎですが合格をして単位は取得できました。
今学期からJavaが始まりましたが、三回目の授業でもう詰んでしまいました。クラスとメソッドがどうこうとか理論みたいなのはある程度分かっているつもりですが、これはこういうの、これはこういうの、という説明のみで、じゃあ課題のプログラム作って~って感じで、全然プログラムを作ることができません。独学で勉強すればいいのかもしれないけど、一週間という課題の期限を与えられている中、自分で勉強をしても絶対にその期間内にプログラムを作れる気がしません。もうすでにプログラミングに対して憂鬱というか、授業があると思うと一気に気分が沈んでしまいます。
同じような体験をされた方などいましたら、どのようにこういう気持ちを乗り切りました?どのような学習方法等でプログラムを作れるようになりましたか?
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
う~ん、Javaの道具立ては、多人数で大きなプログラムを作る為の工夫に溢れてて
初心者には複雑なだけでしょうね。経験積まないと訳わからんでしょう。
最初はクラスー個にメソッド数個くらいの規模で、Cと似たような
かんじで簡単にわかる範囲から
初心者本を見つつ始めることをお勧めします。
課題ですが、内容にもよりますね。自力で出来ないなら人にレクチャを頼む
しかないでしょう。
情報学科なら、入学前からのJava使いなど、腐るほどいると思いますよ。
No.5
- 回答日時:
>どのような学習方法等でプログラムを作れるようになりましたか?
その場しのぎで先人の作品を利用するのではなく、先人の作品を
鑑賞(なるほど!、賢い!など感動しながら)して、
妄想(このテクニックはどこで使えるか想像をめぐらして)して夢を広げ、
技(わざ)を盗む(実際に使って自分のものにする)
かしら
回答していて気が付きました。
これって、プログラミング以外の他の科目でもいえる学習方法ですね。
>授業があると思うと一気に気分が沈んでしまいます。
それならいっそう、転科、進路変更を検討されたらいかがです?
No.4
- 回答日時:
>どのような学習方法等でプログラムを作れるようになりましたか?
せっかく1年かけてC言語でプログラムを作る勉強をしたのに、その場しのぎ
だけで済ませてしまったのが最大の失敗。
この段階で、自分の頭で考え・試行錯誤する事が、一番の勉強になったはず
なのに...
何事も、しっかりした基礎なしで、その上に物を作り上げる事はできません。
手間がかかっても、一歩一歩地道に進んでいくのが、一番の学習方法です。
No.3
- 回答日時:
題意から逸れるかも知れませんが、無理に勉強しようとしない方が良い気がします。
私の勝手な想像ですが、主氏自身の進路とプログラミングの関連性が
不明な為、身が入らないのでは無いかと・・・
先ずは進路先の現地見学等して必要性を感じる、とか
数千件のアンケート集計をプログラム集計してみて利便性を感じる等の
体験をされてみたら如何でしょうか?
No.2
- 回答日時:
数年前までシステム開発の仕事を30年ほどしていました。
その経験から。。。
プログラム作成の課題に対し答えであるプログラムの処理内容を課題となっているプログラミング言語で考えていませんか?
それだと学ぶ言語が変わるたびに一からの出直しです。
プログラムでやりたいことは必ず人が日常使っている言葉で説明できます。そうでないと実現不可能です。
ですからいきなりC言語だとかJavaで考えるのではなく、日常使っている言葉で処理手順を箇条書きにしてみましょう。
何らかのチャート図を眞井出場合はそれを使用すると効率的ですし、ビジュアル的に繰り返しや条件判断などを理解できてよいですが、知らなければ箇条書きでかまいません。
その際、繰り返し処置や条件判断のようなところは以下のように箇条書きをネストさせるとわかりやすいです。
1.××行う。
2.変数〇〇の数だけ以下の処理を繰り返す。
(1) △△を□□する。
(2) 変数◇◇の値に応じて以下の処理を行う。
(2-1) ◇◇が0以上なら※※する。
(2-2) ◇◇が0未満なら▲▲する。
(3) ・・・
3.・・・
こんな感じです。
で。
仕事としてのシステム開発は要求定義(人がしたい事を明確にする)からはじまり機械(主にコンピューター)に処理させる部分の設計、製造、試験と続きますが、先に記しました「日常使っている言葉で処理手順を箇条書きにする」ことは設計にあたります。
ちなみに出された課題には「こういう入力をするとこういう結果が出る」という意味合いの記述があると思いますがこれも設計です。これはやりたいことの機能を具体的に示したものでソフトウェアの見た目の動きを定義しています。機能設計とか外部設計とかいった呼ばれ方をする部分で、画面デザインや印刷様式、入出力ファイル(データベースのテーブル等も)がある場合はその具体的な構造を決める事もこの設計の重要な部分です。
そして、ソフトウェア内部での処理手順を記述するのは詳細設計とか内部設計とかいった呼ばれ方をする部分で、プログラム内部のデータ構造や処理中に中間的に出力するファイルなどがある場合はその構造も具体的に決めます。処理方法の設計では使用するプログラミング言語の機能に引きずられる部分もあります。特にJavaなどの記述レベルが高い高機能な言語(より自然言語に近く、言語側で様々なツール機能を提供するプログラミング言語)では。
あと、Javaなどのオブジェクト指向言語ですが、何をクラスとするかはC言語などの手続き型言語での「モジュール分け」とは考え方が異なるのですが、オブジェクト指向をしっかり学ばずにいきなりJavaの文法だけ習って、、、ということでしたら、あまり難しく考えず自分なりの考え方で分けてよいと思います。
理屈としては例えば。。。
「“人”というクラスがあるとAさんと言う人はそのインスタンス」とか、
「“人の腕”というクラスを考えた時、人のインスタンスは人の腕のインスタンスを2つまでしか持てない」とか、
いった面倒な理屈の部分はとりあえずオブジェクト指向の学習の方に追いやり、言語実習としては文法理解に集中するのがよいように思います。やっているうちに何となく「クラスってこういう感じなのかな?」という理解も出てくるように思いますし、もしその考え方が違っていたとしてもそれに気付く機会は後々いくらでもあるでしょうし。。。
ちなみにシステム開発やソフトウェア開発を仕事としている人でもオブジェクト指向の本質的なところをしっかり理解していない人は普通にいます。「自分はJava経験がたくさんあります」という人でも作ったプログラムのソースコードを見ると「あぁ、そうなんだぁ。。。」という人は多いです。(^^;
参考まで。
No.1
- 回答日時:
>同じような体験をされた方などいましたら
私はそういう体験してないですけど
友人にそういうのが何人かいたので
その人たちがどうしたのかを言います
その道をやめました
はっきり言って
プログラミングなどの技術系は
学ぶ意欲がないと今後絶対にやっていけません
大学で出される程度の課題を1週間でやることが出来ないのは
意欲が無いからです。
そりゃあ興味がないことを学ぼうとするなんて無理な話です
別にそのこと自体が悪いことではないですよ
当たり前のことなんですから
>どのような学習方法等でプログラムを作れるようになりましたか?
どんなことでも通じる学習方法なんですが
自分が作りたいものを作る
これが一番の学習方法です
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) VBA 1 2023/01/19 16:19
- その他(プログラミング・Web制作) 大学一年でVBAのプログラミングを勉強しているものです。来週の情報の授業で以下の問題のプログラムを勉 4 2023/01/19 16:15
- Ruby VBA 2 2023/01/14 14:14
- その他(自然科学) 科学技術計算の仕事について 2 2023/02/04 18:09
- IT・エンジニアリング IT業界に就職を考えているが適正がないかもしれない 5 2023/06/08 01:22
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- 物理学 【 理系科目の選択 】 現在、高一の者です。 文系に興味がなく理系に進もうと思うのですが、物理と生物 7 2022/10/06 22:53
- その他(教育・科学・学問) 大学期末試験における不合格処理はなるべく避けた方がいいですか。 3 2022/08/20 15:42
- 高校 高校に行く意味が分かりません 9 2022/11/15 18:03
- 書類選考・エントリーシート 僕はコンピューターの専門に行こうと思ってます。志望理由こんな感じでいいですかね? ①進学先に選んだ理 2 2022/09/11 17:41
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Netbeansでの、Java「実行」と...
-
Javaの授業についていけたい。...
-
JAVA基礎の課題で自動販売機
-
スキル高めのIT技術者になぜ左...
-
createnewfile()の例外の起こし方
-
内部仕様、外部仕様
-
JAVA プログラミング ロッカ...
-
遊びでJavaを勉強しようとして...
-
vba クリップボードクリアにつ...
-
JSPファイルで生じるエラーをど...
-
gitでバージョン指定してダウン...
-
unzip32.dllの利用について(64b...
-
MSCOMCTL.OCXのアップデートの方法
-
使用しているJUnitのバージョン...
-
visual stadio 参照問題
-
VBAの「for i=1 to cells(…」...
-
OpenForm
-
オブジェクト指向について
-
このVBAでExcelアプリケーショ...
-
ウインドウズメディアプレーヤ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavaとAndroidアプリ(Java)違...
-
エクリプスのプログラミングに...
-
内部仕様、外部仕様
-
Javaに向いてない人はどんな人...
-
スキル高めのIT技術者になぜ左...
-
vectorクラスについて。
-
プログラミングのプの字も知り...
-
createnewfile()の例外の起こし方
-
C言語をマスターするまでの時間
-
大学の授業のプログラミング、...
-
JAVA基礎の課題で自動販売機
-
Cに慣れてしまった人、どのよう...
-
Netbeansでの、Java「実行」と...
-
プログラミング 学習
-
SocketのFileDescriptor取得
-
JDK1.6.0_26の日本語ドキュメン...
-
JavaScriptとC言語の違いについ...
-
Perl言語について。
-
おすすめサイトを教えてください
-
weblogicのカスタムタグについて
おすすめ情報