ゼロから確実に理解できるプログラミングC言語 詳細(プログラミング教育へ考察の章も含みます)
4.0 (186 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,591 students enrolled

ゼロから確実に理解できるプログラミングC言語 詳細(プログラミング教育へ考察の章も含みます)

専門学校で教えてきたC言語の詳細を動画で学習できるように再構成したものです。
4.0 (186 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,591 students enrolled
Created by 忠郎 渡邊
Last updated 2/2020
Japanese
Current price: $25.99 Original price: $39.99 Discount: 35% off
1 day left at this price!
30-Day Money-Back Guarantee
This course includes
  • 29.5 hours on-demand video
  • 17 articles
  • 54 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • 他の最新言語を自己学習するときの基本スキルとして身につく
  • C言語の詳細を網羅しているカリキュラムで構成
  • 今後のコース、コンピューターOSの概論、オブジェクト指向の理解ができるようになります。
  • コンソールアプリなら組めるようになるようなカリキュラムで専門学校で実績があります。
  • SEの基本が身につきます
  • C言語の仕様的には、C89の範囲で解説していますので、最もベーシックな入門編です。
  • プログラミング教育に役立てたいという教師(とくに小学校)向けの章を追加しました。
Course content
Expand all 200 lectures 30:24:45
+ 0章 ここから開始しましょう。
5 lectures 21:40

Javaのコースで制作中でしたが、C言語言語から受講される方が多いのでC言語講座にも追加することにしました。

Preview 02:45

このコースは、受講者様が多いので、少なからず。受講後に考えていたものとは違ったなどのレビューや苦言される方がいらっしゃいます。そうしたミスマッチを防ぐために、プレビューにしておきますので、是非ご覧くださいませ。

Preview 02:55

動画中ではCygWinを初期の頃はインストールしていましたが現在では、Tiny C Compiler = GNU-C 互換をインストールする前提でコース進行しています。

Preview 10:26

マイクロソフト(Windows TM)は、ソフトウエアであるがゆえに、思わぬ落とし穴がある場合があります。

Preview 02:35

Windowsへの各種インストールでの失敗をへらすために無料のコースを用意しています。もちろんMacユーザーの方が視聴しても役立つ内容ですのでおすすめします。

Preview 02:59
+ プログラミング教育に役立てたい方のための章
14 lectures 01:47:15

初心者さんにプログラミングを理解してもらうには、長年の講師経験からノイマン型コンピューターそのものの理解を最初にしてもらうことが最も確実だということが解っています。

解説の方針について
02:25

プログラミングに関する新指導要領がどのようなものかを一応解説しておきますね。

プログラミングに関する新指導要領について
06:04

エンジニアでもない、開発経験のない先生方が、子どもたちにプログラミングのなんたるかを教えて、人材不足に対応していこうというのはほぼ不可能に近いですが、それぞれの学校で教えたい内容は、文科省はともかく、先生みずから見出す必要があると思います。

エンジニアでもない先生方が子どもたちに何をどう指導すればいいのでしょうか
01:30

なにをどのようにおしえることで初心者さんが興味をもち面白いと感じるのかを解説してみました。

Preview 06:57

ノイマン型コンピューターを理解するのにエジソンと電球や、日本の嶋さんなどの歴史があったというのは、現場のエンジニアでも知らない人が増えているので、あえて、子どもたちにお話して興味を持ってもらうことは大事です。

前回のレクチャーの補足
05:44

コンピューター分野は、間違いなく90年台にはいりオブジェクト指向の考え方を取り込んだC言語の後継プログラミング言語や、バッテリー革命など複数の技術革新が重なって、急激にパラダイムが変わっていき、プログラミングの高度化の時代とインターネットの普及が始まっていきます。動画内でJavaというキーワードが繰り返し出てくるのは、この動画がもともとJavaのコースのものであったためです。

Preview 05:07

なぜオブジェクト指向を学習するのかを解説してみました。とくにどうすれば、マスターできるだろうという部分を解説しました。

Javaという解説部分は後にJavaのコースで再度見てくださいますようにお願いいたします。

なぜ中学生から始めるオブジェクト指向なのかについて少し解説します。(この動画はJava要素は未修正です)
04:45

一時期はインターネットを意識したスクリプト言語がもてはやされていますしたし、IT技術者といえばウエブ系のようなイメ−ジでしたが、スマホのアプリ開発などの需要や、組み込みコンピューターの需要の伸びなどで再度ハードウエアを意識する必要が出てきています。

コンピューターとプログラミングの関係とタイムライン
11:24

ノイマン型コンピューターの基本構成とブロック図。現代における組み込み型コンピューターの実際を解説しました。

ノイマン型コンピューターの基本構成はどのように表されるか
07:29

子供にコンピューターの仕組みとプログラミングの概念を理解させる面白い試みについて解説しました。

人の脳とノイマン型コンピューターとの関係
16:33

電源をコンピューターに入れた場合、なぜいつも同じ動作をするのか、子どもたちにどのように教えますか?

意外にも人の脳とノイマン型コンピューターの共通点について
15:02

ノイマン型コンピューターの最大の特徴であるメモリのアドレッシングを理解できます。

メモリを理解するために100万段のタンスをイメージしよう
06:33

Javaはオブジェクト指向のプログラミング言語ですが、そのオブジェクト指向の本質はなんなのかが理解できるようになります。
ちょっとだけオブジェクト指向について解説しています。

珈琲ぶれいく
08:34

CPUで動作するプログラミングの構造は、人の脳の3大思考パターンとおなじであるということが理解できるようになります。

脳にとってもコンピューターのCPUにとっても重要な制御構造とは
09:08
+ (2017追加)質問などにお答えします。
4 lectures 23:03

たくさんのレビューや、質問などで気になった事柄についてお答えします。 その1

Preview 09:48

たくさんのレビューや、質問などで気になった事柄についてお答えします。 その2

Preview 04:07

WindowsとCの言語の最新事情についてお話します。

Preview 08:59

PDFが表示できないというWindows環境の方がいるので、対処しました。

表示できないPDFがある場合は、これをダウンロードしてください。
00:09
+ 1章 ノイマン型コンピュータとはどんなもの? (興味のある方は是非試聴してください)
8 lectures 00:10
どのようなプログラミング言語を学習するうえでも、ノイマン型コンピューターがどのような構造をしているかは、常に頭になくてはなりません。いつでもドキュメントの中の構造図が頭に浮かぶ用にしてください。

あまりに基本的すぎて、多くの学校では教えないのですが、とても大事なことと考えて下さい。

Preview 3 pages

このセクションでは、メモリーとはどういうものか?

コンピュータの構造上なぜ重要なのか? どうやって数の多いメモリーを管理するのかを

理解します。アドレッシングという方法の根本的な理解です。

アドレッシングは、番地管理とも、アドレス管理とも言われます。

Cの言語においては、後にポインターという言葉でよく出てきます。


1−2 百万段のタンスとメモリーについて
3 pages
システム系のプログラミングでは、どうしても2進数敵な要素が出て来ます。この2進数が理解しにくいので、

できるだけ簡単に理解できるようにドキュメントにまとめてあります。

理解できるまで難度も読み返して、しっかり理解してください。

1−3 メモリーと2進数の関係
2 pages

2進、8進、16進数から10進数への変換が簡単に理解できるようにまとめてあります。


1−4 10進数に変換する方法
1 page

コンピュータと数学の変数は根本的な違いがあります。数学の変数には大きさの概念がありませんが、

コンピューターの変数は、メモリを使うので有限な変数になります。このことの理解はとても大事なものです。

例えばゼロという概念は、数学の世界では絶対ゼロというものですが、コンピューターの世界のゼロには大きさがあります。


1−5 コンピュータの変数というもの
2 pages

1章で最も大事なテーマでもあるノイマン型コンピュータの理解を問います。

練習問題−1
00:05

レクチャー15と同じ内容です。15のほうで上手くダウンロードできない方はこちらをお試しくださいませ。

レクチャー15がうまく表示できない方はこちらをお試しください。
00:04

ノイマン型のコンピュータを表すイメージ図を描き、その特徴を挙げること。

1章の実習
1 page
+ 2章 プログラミングを始めよう
12 lectures 01:51:05

パッケージインストーラーのchocolateryが導入されていれば、Cのコンパイラを簡単に導入できますよ♫

Windowsのパッケージインストーラーを導入しましょう
08:57

2019年の最新事情で解説します。

この章の以下のレクチャーは必要に応じて見て下さい
01:14

実習主体の講座ですので、まずはC言語の実行環境を理解しましょう。この動画では、三大OSに共通のオンライン実行環境(プログラム作成可能)を解説します。


2章1項 プログラミングの学習環境を整える
11:29

アップルのマッキントッシュの環境にC言語の環境を作る方法を学習しましょう。

MacOSXはもともとUnixベースのOSなので、必要なものはさいしょからすべて含まれています。


2章ー2 マッキントッシュ単体で実行環境を作る
13:05

Windowsの環境にC言語の環境を作る方法です。

ダウンロードは、

K2Editor:http://k2top.jpn.org/index.php?K2Editor

Cygwin:https://www.cygwin.com/

から配布されています。


2章−3 Windowsに実習環境を作る。Cygwin編
16:50

CygwinにCコンパイラをインストールする場合の補足動画です。


2章−4 windowsにCygWinをインストールし、Cコンパイラをインストールする。補足
07:16

ライブCDについて解説しています

補足事項:Ubuntu LinuxのISOイメージの配布は以下の場所で行われています。
https://ubuntulinux.jp/download/ja-remix

Linuxの実行環境を作る
11:23

CygWinの導入がうまく出来ないという方に、かつてのコマンドラインCコンパイラのボーランドC5.5の導入方法を紹介します。2017年現在まだダウンロード可能です。

(2017新)新たなウインドウズ用の開発環境を導入しよう。
07:23

CygWinの導入がうまく出来ないという方に、かつてのコマンドラインCコンパイラのボーランドC5.5の導入方法を紹介します。2017年現在まだダウンロード可能です。


(2017新)新しいウインドウズ用の開発環境の導入 その2
07:57

WindowsXP当時の環境の方には、最新のBCC5.5の環境は動作させられません。そのため、旧バージョンがまだダウンロード可能なので、その導入方法を解説します。2017年2月現在で、まだ可能です。

(2017新)旧バージョンのBCC5.5をダウンロードするには
04:26

WindowsXPの環境にBCC32(5.5)をインストールするまでを紹介します。

(2017新)旧バージョンのBCC5.5をインストールする
09:41

補足事項:Ubuntu LinuxのISOイメージの配布は以下の場所で行われています。
https://ubuntulinux.jp/download/ja-remix


2章−5 LinuxのライブCDで開発環境を作ることについて
11:24
+ (2017新)3章 さあ始めよう
17 lectures 02:01:31

メモリイメージの書き方を暗記してください。

Preview 10:40
メモリイメージの書き方を暗記してください。
(2017新)最初にメモリイメージについて理解しよう その2
10:51

2進数と10進数の変換については、暗記事項です。

(2017新)2進数と10進数に関して
06:42

8進数は、2進数に戻して簡単に10進変換できますよ。

(2017新)8進数に関して
05:53

16進数も基本的には8進同様、まずは2進数表現にしてから簡単に10進数変換できます。

(2017新)16進数に関して
03:25

C言語のプログラムを学ぶ者が必ず伝統的に行うプログラムですが、このプログラムには、C言語のプログラミング上7割の重要項目がふくまれるので、必ず暗記しましょう。

6項 C言語の簡単なプログラムを暗記する。
14:02

printfのフォーマットを解説したサイトさんは

http://www.k-cube.co.jp/wakaba/server/format.html

関数辞典さんはこちら

http://www.c-tipsref.com/reference/stdio/printf.html


7項 【重要】printf()という関数の使い方
15:39

wandboxについては章を設けてあるので参考にしてください。

(2019版)先の例をWandboxしてみよう
00:25

実習の答えは、8章にて見ることができます。


2章・3章の実習
1 page

wandsboxとは、オンラインでコンパイラで実行結果の得られるサイトです。

先のレクチャーの答えは、次章のwandsboxの章にもありますので是非確認しましょう
00:04

メモリイメージの描き方を学びます。


1項 プログラミングのその前に、暗記事項その1 2進数と10進数の関係について
09:51
1バイトのメモリとビットの関係と2進数の関係が理解出来るようになります。
2項 2進数とメモリイメージ
11:01

まずメモリとビットの関係について解説してみました。

(2019 修正版)ビットとは?10進数から2進数への変換方法
10:49

8進数と10進数の関係を解説しました。暗記事項の方が多いです。


4項 8進数と2進数、10進
11:08
16進数と2進数の関係を理解し、相互変換できるようにします。

2進数に変換できれば、10進数への変換も簡単にできることになります。

5項 16進数と2進、10進
09:51

10進数の100を16進数で表示する問題です。

(2019版)Wandboxで実習してみよう 100を16進数で表示する
00:25

wandsboxで実際に入力してためしてみましょう。

(2019版)10進数の100を2進数で表示するプログラム
00:43
+ (2019新章)Wandbox.org を使って簡単にテストしましょう
3 lectures 22:05

WandBoxはオンラインでプログラムのコンパイルと実行結果を見ることのできるサイトです。

Preview 10:12

WandBOXに行き、Hello Worldの表示プログラムを実行してみましょう。

WandBOXでHelloWorldを表示するプログラムを書いてみましょう
05:54

wandsboxが個人の方がボランティア運営してくださっているサービスなので・・・

WandBOXがもし使えなくなってもというお話です。
05:59
+ 4章 (2017新)変数とデーター型
20 lectures 02:41:27

変数とメモリの関係、型そしてデーター型の理解はプログラム言語の理解にも直結します。

(2017新)変数とデーター型の概要 その1
07:22
変数とメモリの関係、型そしてデーター型の理解はプログラム言語の理解にも直結します。
(2017新)変数とデーター型の概要 その2
08:03

Wandboxでプログラムしてみましょう

(2019追加)整数型のサイズ表示をしてみよう
00:28

int,long型については、現在レジスタサイズではありません。

(2019年追加)int型の箚し新事情
00:20

プログラム言語とプログラミングの関係を解説してみました。

(2017新)プログラム言語とプログラミングの違いとは
11:14

変数とメモリイメージを理解するときは一気にしなくてはなりません。

(2017新)変数のデーター型について一気に解説します。
14:25

新しくプログラムを創る分には問題ないのですが、16bit時代のプログラムソースを、23bitあるいは64bitCPUに持っていく場合には、かなり気を使う必要があります。

(2019追加)整数型のデーターサイズは注意が必要です。
05:44

通常の変数では扱いきれないデーター表現が必要になったために、データーの構造化が出現します。

Preview 11:39

構造化されたデーターからさらにデーターの抽象化という考えが発生します。

(2017新)データーの構造化そして構造体へ その2
13:30

データー構造に次元を持ち込んだ配列について解説します。

(2017新)配列と構造体、共用体 その1
09:52

データーの抽象化について解説しています。

(2017新)配列と構造体、共用体 その2
10:17

共用体の使いみち等について解説しています。

(2017新)配列と構造体、共用体 その3
08:17

同じ内容で宣言した変数でも構造体と共用体ではサイズにちがいがあります。

(2019版)構造体と共用体の違いを実際に確かめてみよう
01:12

ポインターについては、専用の章を設けました、そちらもご視聴下さいませ

14項 ポインターについて
17:59

何型のポインタ変数であっても、サイズ=型は同じだということを確認してみましょう

(2019版)ポインタの簡単な実験
00:35

プリプロセッサや、アノニマス・シノニムについて解説しています。

15項 定義と別名・シノニムについて
13:12

C言語がそれまでのプログラミング言語と違って革新的だったのが、記憶クラスです。変数のスコープとも言いますが、これが後のオブジェクト指向につながっていきます。

Preview 13:30
C言語がそれまでのプログラミング言語と違って革新的だったのが、記憶クラスです。変数のスコープとも言いますが、これが後のオブジェクト指向につながっていきます。
C言語の変数とそのスコープ その2
08:21
C言語がそれまでのプログラミング言語と違って革新的だったのが、記憶クラスです。変数のスコープとも言いますが、これが後のオブジェクト指向につながっていきます。
C言語の変数とそのスコープ その3
05:26

練習問題です。答えは8章にあります。

4章の実習
1 page
+ 5章 構造化と関数
9 lectures 01:13:00

まずはプリグラムの処理の構造から考えてみます。

Preview 03:57

処理の構造化からデーターの構造化へ

(2019)構造化とは何か? その2
07:13

データーの構造化からオブジェクト指向へ発展する流れ

(2019)構造化とは何か その3
15:18

数学の函数とプログラミング分野の関数の違いについて解説します。

(2019版)関数とはなにか? その1
09:31

関数を使うという視点でみるといろいろなことが見えてきます

(2019版)関数とはなにか その2
08:38

実際に関数を考えてみます。しっかり理解してほしいポイントです。疑似コーディングについても解説しています

(2019版)関数とは何か その3
05:23

関数はメモリのどこに配置されるのか理解しましょう

(2019年度版)関数とはなにか その4
15:03

関数へのポインターを実際に使ってみましょう

(2019版)関数とはなにか? その5
07:57

実習です。答えは8章にあります。

5章の実習
1 page
+ 構造化と関数の旧レクチャーなど
12 lectures 02:51:47

この章について解説します。

この章は
00:20

構造化とは何か、構造化と関数からオブジェクト指向へそしてエージェント指向への流れを理解出来ます。

1項 プログラムと構造化の流れ(1)
14:15

構造化とは何か、構造化と関数からオブジェクト指向へそしてエージェント指向への流れを理解出来ます。

その2

2項 プログラムと構造化の流れ(2)
18:29
構造化とは何か、構造化と関数からオブジェクト指向へそしてエージェント指向への流れを理解出来ます。

その3

3項 プログラムと構造化の流れ(3)
18:17

プログラム言語とプログラミングの違いについて述べています。関数とは何かの問題提起もしています。

プログラムと関数について(1)
16:27

プログラムとは何かについて考えます。

プログラムと関数について(2)
17:22

関数を使うということ。関数を創るときに、考えなければならないのが使う人(呼び出し側)のことです。

プログラムと関数について(3)
18:04

引数と辺値について考察します。

プログラムと関数について(4)
14:44

関数へのポインタについて解説します。

プログラムと関数について(5)
13:31

C言語以降のプログラミング言語にとってC言語の重要性が解ります。

プログラムと関数のまとめ(1)
17:04
C言語以降のプログラミング言語にとってC言語の重要性が解ります。

 その2

プログラムと関数のまとめ(2)
15:27
C言語以降のプログラミング言語にとってC言語の重要性が解ります。

その3

プログラムと関数のまとめ(3)
07:47
Requirements
  • パソコンの操作に困らないこと
  • ソフトやアプリのインストールが出来るとなお良い
Description

専門学校で20年以上プログラミング教育をした経験を活かしたカリキュラムになっています。

そのため、初心者向けと銘していますが、それは、表面だけ文法を説明するような内容ではなく、基礎を身に着けていただきたいために、言語の深い部分にまで詳細に解説し、学習する方にC言語とはどのような言語なのかを理解していただける内容になっています。そのため、数日でマスターできるというような安易なタイトルにはしていませんし、それなりの詳細解説に必要な時間数になっています。

このコースは、ITリテラシーの3部作の最初のコースとして設計しました。

このコースの次は、C言語を理解した上で、コンピューター概論、OS概論と続きます。三部目が、オブジェクト指向を予定しています。

2017年度版は、1016年度でのコース初作の欠点を見直し、白板解説が見づらい場合はスライド解説を取り入れ、動画時間数が長く、スマホ向きではないものは時間分割するなどの改善も施してあります。またプレビューも多く配置しました。

このコースで、学習しづらいものは、C言語そのものではなく、プログラミングですが、それでもプログラミングの基礎が身につくようなセクションも加えましたので、ぜひ受講してC言語の世界を楽しんでいただければと思います。
受講者さんの中の小中高の先生のためのプログラミング教育の考察章も加えました


講師 渡邊

Who this course is for:
  • C言語を隅々まで詳細に学習したい方向き
  • コース動画を見栄えなどで判断せず最後まで視聴し解らないことは放置しない方
  • スライドや白板での解説の見栄えが悪くても内容を正しく評価し身につけていただける方
  • 最終的にオブジェクト思考までマスターする意欲のある方
  • コース評価を正しくしていただける方
  • Java言語の学習の前にC言語の習得を必修としてオススメします
  • 小中校の教師の方