Introduction to Computer Programming 2019-02: Difference between revisions

From Innovation
Jump to: navigation, search
Line 147: Line 147:
|}
|}
=== Part II - C Fundamentals ===
{|class="wikitable"
|-
! colspan="2" style="background: Turquoise; text-align:left;"| Week 7 - on C Language
|-
! width=50% ; style="text-align:left;"| Lecture : 17/10/2019 (Thu) '''Introduction'''
! width=50% ; style="text-align:left;"| Lab : 18/10/2019 (Fri) '''Variables'''
|-
<!-- Monday -->
| style="vertical-align: top;"| '''Reading:'''
* The essential basics of getting to know the C language: pre-processing, compile, variables, linking (adapted from 6.s096 MIT) [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c/MIT6_S096_IAP13_lec1.pdf  [pdf] ]
<!-- Friday -->
| style="vertical-align: top;"| '''Reading:'''
* Introduction to C programming [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c/KNK_C01_intro_kor.pptx  [ppt] ] [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c_pdf/KNK_C01_intro_kor.pdf  [pdf] ]
|-
| colspan="2"  text-align:left;"| '''Video:'''
* Introduction to C programming [https://www.youtube.com/watch?v=XDlux67CLTM&t=0s&list=PLWm33cHVRby7GeGFaFP4vVDQSW4_vRbFI  [watch] ] (44m)
|-
! colspan="2" style="background: Turquoise; text-align:left;"| Week 8 - on C Language
|-
! width=50% ; style="text-align:left;"| Lecture : 24/10/2019 (Thu) '''printf and scanf'''
! width=50% ; style="text-align:left;"| Lab : 25/10/2019 (Fri) '''Excercises on printf and scanf'''
|-
<!-- Monday -->
| style="vertical-align: top;"| '''Reading:'''
* To read user inputs and print texts on screen [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c/KNK_C02_form_IO_kor.pptx  [ppt] ] [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c_pdf/KNK_C02_form_IO_kor.pdf  [pdf] ]
<br> '''Worksheet:'''
<br> * Formatted input and output [http://open.gnu.ac.kr/lecslides/2018-2-introProg/c_ws/C02a_form_io.ipynb  [worksheet] ]
<!-- Friday -->
| style="vertical-align: top;"| '''Worksheet:'''
* printf in detail [http://open.gnu.ac.kr/lecslides/2018-2-introProg/c_ws/C02b_printf.ipynb  [worksheet] ]
<br> * scanf in detail [http://open.gnu.ac.kr/lecslides/2018-2-introProg/c_ws/C02c_scanf.ipynb  [worksheet] ]
|-
| colspan="2"  text-align:left;"| '''Video:'''
* Formatted input and output [https://www.youtube.com/watch?v=xK8JDpbC9x8&list=PLWm33cHVRby7GeGFaFP4vVDQSW4_vRbFI&index=2  [watch] ] (30m)
|-
! colspan="2" style="background: Turquoise; text-align:left;"| Week 9 - on C Language
|-
! width=50% ; style="text-align:left;"| Lecture : 31/10/2019 (Thu) '''expressions'''
! width=50% ; style="text-align:left;"| Lab : 01/11/2019 (Fri) '''if -else and switch cases'''
|-
<!-- Monday -->
| style="vertical-align: top;"| '''Reading:'''
* Expresions and Operators [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c/KNK_C03_Expr_kor.pptx  [ppt] ] [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c_pdf/KNK_C03_Expr_kor.pdf  [pdf] ]
<br> '''Worksheet:'''
<br> * Expresions and Operators [http://open.gnu.ac.kr/lecslides/2018-2-introProg/c_ws/C03_var_as.ipynb  [worksheet] ]
<!-- Friday -->
| style="vertical-align: top;"| '''Reading:'''
* if-else and switch cases [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c/KNK_C04_if_switch_kor.pptx  [ppt] ] [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c_pdf/KNK_C04_if_switch_kor.pdf  [pdf] ]
<br> '''Worksheet:'''
<br> * if-else [http://open.gnu.ac.kr/lecslides/2018-2-introProg/c_ws/C04a_if.ipynb  [worksheet] ]
<br> * switch case [http://open.gnu.ac.kr/lecslides/2018-2-introProg/c_ws/C04b_switch.ipynb  [worksheet] ]
|-
| colspan="2"  text-align:left;"| '''Video:'''
* Selection Statement [https://www.youtube.com/watch?v=0qxVW_6Cg4w&list=PLWm33cHVRby7GeGFaFP4vVDQSW4_vRbFI&index=4  [watch] ] (44m)
|-
! colspan="2" style="background: Turquoise; text-align:left;"| Week 10 - on C Language
|-
! width=50% ; style="text-align:left;"| Lecture : 07/11/2019 (Thu) '''Control Flow Statements'''
! width=50% ; style="text-align:left;"| Lab : 08/11/2019 (Fri) '''Excercises on control flow statements'''
|-
<!-- Monday -->
| style="vertical-align: top;"| '''Reading:'''
* Summary on control flow [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c/KNK_C05_cf_sum.pptx  [ppt] ] [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c_pdf/KNK_C05_cf_sum.pdf  [pdf] ]
<br> * Control flow statements [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c/KNK_C05_cf.pptx  [ppt] ] [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c_pdf/KNK_C05_cf.pdf  [pdf] ]
<br> '''Worksheet:'''
<br> * in class excercises with pencil and papers
<!-- Friday -->
| style="vertical-align: top;"| '''Worksheet:'''
* for loop [http://open.gnu.ac.kr/lecslides/2018-2-introProg/c_ws/C05a_for.ipynb  [worksheet] ]
<br> * while loop [http://open.gnu.ac.kr/lecslides/2018-2-introProg/c_ws/C05b_while.ipynb  [worksheet] ]
<br> * do…while loop [http://open.gnu.ac.kr/lecslides/2018-2-introProg/c_ws/C05c_do-while.ipynb  [worksheet] ]
<br> * break; continue; goto [http://open.gnu.ac.kr/lecslides/2018-2-introProg/c_ws/C05d_br_con_goto.ipynb  [worksheet] ]
|-
| colspan="2"  text-align:left;"| '''Video:'''
* On Control flow [https://www.youtube.com/watch?v=wTeFGICePUc  [watch] ] (58m)
|-
! colspan="2" style="background: Turquoise; text-align:left;"| Week 11 - on C Language
|-
! width=50% ; style="text-align:left;"| Lecture : 14/11/2019 (Thu) '''Arrays'''
! width=50% ; style="text-align:left;"| Lab : 15/11/2019 (Fri) '''Arrays Review and Functions'''
|-
<!-- Monday -->
| style="vertical-align: top;"| '''Reading:'''
* Summary on array [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c/KNK_C06_arr_sum.pptx  [ppt] ] [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c_pdf/KNK_C06_arr_sum.pdf  [pdf] ]
<br> * Array [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c/KNK_C06_arr.pptx  [ppt] ] [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c_pdf/KNK_C06_arr.pdf  [pdf] ]
<br> '''Worksheet:'''
<br> * array [http://open.gnu.ac.kr/lecslides/2018-2-introProg/c_ws/C06_array.ipynb  [worksheet] ]
<br>
<br><font color="red"> '''Assignemnt:'''
<br> * description on [http://open.gnu.ac.kr/lecslides/2018-2-introProg/c_hw/HW_CF.ipynb  [description] ]
<br> * Due: Nov-19 (Mon) before class
<br> * submit through piazza </font>
<!-- Friday -->
| style="vertical-align: top;"| '''Review and Reading:'''
<br> * Recap on Array
<br> * Summary on Fuctions [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c/KNK_C07_func_sum.pptx  [ppt] ] [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c_pdf/KNK_C07_func_sum.pdf  [pdf] ]
<br> * Details of Functions [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c/KNK_C07_func.pptx  [ppt] ] [http://open.gnu.ac.kr/lecslides/2018-2-introProg/Slides_c_pdf/KNK_C07_func.pdf  [pdf] ]
<br> '''Worshop:'''
<br> * In class exercise [http://open.gnu.ac.kr/lecslides/2018-2-introProg/c_ws/C07_func.ipynb  [worksheet] ]
|}
=== Part III - C Fundamentals ===

Revision as of 15:47, 18 July 2019

Class Information

Class Info
Class ETA00086 - 컴퓨터 프로그래밍 기초, ETA00087 컴퓨터 프로그래밍 기초 실습
Lecturer Seongjin Lee
Time and Place A & B Group (Theory): 407-508 Thursday 14:00-16:00
A Group (Practice): 407-203, Friday 14:00-16:00
B Group (Practice): 407-203, Friday 16:00-18:00
1st Exam on 11-Oct Friday 16:00-18:00 in 407-101
2nd Exam on 15-Nov Friday 16:00-18:00 in 407-101
3rd Exam on 13-Dec Friday 16:00-18:00 in 407-101
Office Hour Tuesday: 11:00-12:00
Contacts Office: 407-314
Email: insight at gnu dot ac dot kr


Part I - Python

Week - 1 Python
Lecture : 05/09/2019 (Thu) Introduction Lab : 06/09/2019 (Fri) Variables
Course Overview

* First, we will go through the course overview, and what you have to do to succeed in this class. Course Overview
Reading:
* On computation and on difference with spoken lanuage and computer language [pptx ] [pdf ]
* Abstract view on python [pptx ] [pdf ]
* Introduction to Flow Diagram [pptx ] [pdf ]
Workbook:
* In class workbook for understanding the concepts of compution (recommend to use github) notebook

Reading:

* Variables, operations, and expressions [pptx ] [pdf ]
Workbook:
* In class workbook for understanding the concepts of compution (recommend to use github) notebook

Video:

* Spyder 실행하고 간단한 프로그램 작성하기 (11 min) [watch]
* Spyder 에서 작성한 코드 파일로 저장하기, 불러오기, 실행하기 (10 min) [watch]
* python에서 변수 사용, 생성하기, 그리고 활용하는 예 (8 min) [watch]
* Python의 연산자 종류와 사용 예 (10 min) [watch]

Week - 2 Python
Lecture : 12/09/2019 (Thu) Chuseok(추석)' Lab : 13/09/2019 (Fri) Chuseok(추석)'
National Holiday National Holiday



Week - 3 Python
Lecture : 19/09/2019 (Thu) For Loop Lab : 20/09/2019 (Fri) input function
Reading:

* for loop is a important building block, and widely used [pptx ] [pdf ]
* In python, range function controls the number of iterations in for loop [pptx ] [pdf ]
* flow diagram for the for loop and list [pptx ] [pdf ]
Workbook:
* In class workbook for understanding the concepts of for loop (recommend to use github) notebook

Reading:

* Introducing user interaction with input function [pptx ] [pdf ]
Workbook:
* In class workbook for understanding the concepts of input (recommend to use github) notebook

Video:

* for 문장과 range 함수의 활용 (10 min) [watch]
* input 함수의 활용과 입력한 값의 형의 이해 (9 min) [watch]

Week - 4 Python
Lecture : 26/09/2019 (Thu) if conditions Lab : 27/09/2019 (Fri) while loop
Reading:

* Evaluation of expression and logical operators [pptx ] [pdf ]
* Controlling flow of a program with if and else [pptx ] [pdf ]
* Introducing randomness to a program [pptx ] [pdf ]
Workbook:
* In class workbook for understanding the concepts of flow of a program (recommend to use github) notebook

Reading:

* Another method of making a loop [pptx ] [pdf ]
* flow diagram for while function [pptx ] [pdf ]
Workbook:
* In class workbook for understanding the concepts of while loop (recommend to use github) notebook

Video:

* if 문장으로 조건 비교하여 실행하기 (15 min) [watch]
* for 문과 유사한 기능의 while문으로 반복 동작을 더 정교하게 조정하기 (7 min) [watch]

Week - 5 Python
Lecture : 03/10/2019 (Thu) Lab : 04/10/2019 (Fri) Custom Functions
개천절(National Holiday) Reading:

* Dividing the code into functions to reduce the duplicate codes [pptx ] [pdf ]
* Example of using function [pptx ] [pdf ]
* flow diagram on function [pptx ] [pdf ]
Workbook:
* In class workbook for understanding the concepts of flow of a program (recommend to use github) notebook

Video:

* 함수의 작성의 문법과 활용의 예와 자기 자신을 다시 부르는 재귀함수의 예 (11 min) [watch]

Week - 6 Python
Lecture : 10/10/2019 (Thu) Review Lab : 11/10/2019 (Fri) Exam I
Workbook:

* Practice before the exam notebook

Exam

* Place : 407-101 * Time : 16:00-18:00






Part II - C Fundamentals

Week 7 - on C Language
Lecture : 17/10/2019 (Thu) Introduction Lab : 18/10/2019 (Fri) Variables
Reading:

* The essential basics of getting to know the C language: pre-processing, compile, variables, linking (adapted from 6.s096 MIT) [pdf ]

Reading:

* Introduction to C programming [ppt ] [pdf ]

Video:

* Introduction to C programming [watch ] (44m)

Week 8 - on C Language
Lecture : 24/10/2019 (Thu) printf and scanf Lab : 25/10/2019 (Fri) Excercises on printf and scanf
Reading:

* To read user inputs and print texts on screen [ppt ] [pdf ]
Worksheet:
* Formatted input and output [worksheet ]

Worksheet:

* printf in detail [worksheet ]
* scanf in detail [worksheet ]

Video:

* Formatted input and output [watch ] (30m)

Week 9 - on C Language
Lecture : 31/10/2019 (Thu) expressions Lab : 01/11/2019 (Fri) if -else and switch cases
Reading:

* Expresions and Operators [ppt ] [pdf ]
Worksheet:
* Expresions and Operators [worksheet ]

Reading:

* if-else and switch cases [ppt ] [pdf ]
Worksheet:
* if-else [worksheet ]
* switch case [worksheet ]

Video:

* Selection Statement [watch ] (44m)

Week 10 - on C Language
Lecture : 07/11/2019 (Thu) Control Flow Statements Lab : 08/11/2019 (Fri) Excercises on control flow statements
Reading:

* Summary on control flow [ppt ] [pdf ]
* Control flow statements [ppt ] [pdf ]
Worksheet:
* in class excercises with pencil and papers

Worksheet:

* for loop [worksheet ]
* while loop [worksheet ]
* do…while loop [worksheet ]
* break; continue; goto [worksheet ]

Video:

* On Control flow [watch ] (58m)

Week 11 - on C Language
Lecture : 14/11/2019 (Thu) Arrays Lab : 15/11/2019 (Fri) Arrays Review and Functions
Reading:

* Summary on array [ppt ] [pdf ]
* Array [ppt ] [pdf ]
Worksheet:
* array [worksheet ]

Assignemnt:
* description on [description ]
* Due: Nov-19 (Mon) before class
* submit through piazza

Review and Reading:


* Recap on Array
* Summary on Fuctions [ppt ] [pdf ]
* Details of Functions [ppt ] [pdf ]
Worshop:
* In class exercise [worksheet ]


Part III - C Fundamentals