ผลต่างระหว่างรุ่นของ "Programming 2"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
 
(ไม่แสดง 16 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน)
แถว 1: แถว 1:
This is a course homepage for '''Programming 2'''
+
: ''For the recent offering of this course for Academic Year 2020, see [[Programming 2 2563]].''
 +
 
 +
This is a course homepage for '''Programming 2''' for Academic year 2018, second semester.
  
 
== Materials ==
 
== Materials ==
 +
* Lecture 1 (18-Jan)
 +
** [https://theory.cpe.ku.ac.th/wiki/images/219116-01a-intro.pdf 219116-01a-intro.pdf] - Introduction (1)
 +
** [https://theory.cpe.ku.ac.th/wiki/images/219116-01d-task-breakdown-practice.pdf 219116-01d-task-breakdown-practice.pdf] - Task breakdown practice
 +
 +
* Lecture 2 (7-Feb)
 +
** [https://theory.cpe.ku.ac.th/wiki/images/219116-02a-intro2.pdf 219116-02a-intro2.pdf] - Introduction (2)
 +
** [https://theory.cpe.ku.ac.th/wiki/images/219116-02b-incremental-development.pdf 219116-02b-incremental-development.pdf] - Incremental & Iterative Development
 +
** [https://theory.cpe.ku.ac.th/wiki/images/219116-02c-changes.pdf 219116-02c-changes.pdf] - Dealing with changes (1)
 +
** [https://theory.cpe.ku.ac.th/wiki/images/219116-02d-reponsibility.pdf 219116-02d-reponsibility.pdf] - Responsibility
 +
 +
* Lecture 3 (15-Feb)
 +
** [http://theory.cpe.ku.ac.th/wiki/images/01219245-04a-test-principles-unit-testing.pdf 01219245-04a-test-principles-unit-testing.pdf] - Software testing, Unit testing, TDD
 +
** [https://theory.cpe.ku.ac.th/wiki/images/219116-03b-unit-testing-python-1.pdf  219116-03b-unit-testing-python-1.pdf] - Unit testing with python doctest
 +
** Practice: [[01219245/git|Version control with git]]
 +
 +
* Lecture 4 (22-Feb)
 +
** [https://theory.cpe.ku.ac.th/wiki/images/219116-04a-oop-review.pdf 219116-04a-oop-review.pdf] - Python OOP review
 +
 +
* Lecture 5 (28-Feb)
 +
** [https://theory.cpe.ku.ac.th/wiki/images/219116-05a-recursion.pdf 219116-05a-recursion.pdf] - Recursion
 +
 +
* Lecture 6 (7-Mar)
 +
** [https://theory.cpe.ku.ac.th/wiki/images/219116-06a-functional-programming.pdf 219116-06a-functional-programming.pdf] - Functional programming
 +
 +
* Lecture 7 - Clean codes
 +
** [https://theory.cpe.ku.ac.th/wiki/images/219116-07a-coding-convention.pdf 219116-07a-coding-convention.pdf] - Coding convention
 +
** [https://theory.cpe.ku.ac.th/wiki/images/219116-07aa-python-convention.pdf 219116-07aa-python-convention.pdf] - Python coding convention
 +
** [https://theory.cpe.ku.ac.th/wiki/images/219116-07b-meaningful-names.pdf 219116-07b-meaningful-names.pdf] - Meaningful names
 +
** [https://theory.cpe.ku.ac.th/wiki/images/219116-07c-functions.pdf 219116-07c-functions.pdf] - Functions
 +
 +
* Lecture 8 - Principles
 +
** Slides: [https://theory.cpe.ku.ac.th/wiki/images/219116-08a-principles.pdf 219116-08a-principles.pdf] - Principles (very short)
 +
** Read more on SOLID at [https://en.wikipedia.org/wiki/SOLID wikipedia], [https://medium.com/@dhkelmendi/solid-principles-made-easy-67b1246bcdf a post by dhkelmendi], [https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design a post at scotch.io]
 +
** We focus mostly on the first two:
 +
*** Single Responsibility Principle: [https://en.wikipedia.org/wiki/Single_responsibility_principle]
 +
*** Open-Close principle: [https://en.wikipedia.org/wiki/Open%E2%80%93closed_principle]
 +
 +
* Design patterns
 +
** Read more at [https://gameprogrammingpatterns.com/ Game Programming Patterns]
 +
 +
* Concluding lecture
 +
** [https://theory.cpe.ku.ac.th/~jittat/courses/prg2/nature-software-dev.pdf nature-software-dev.pdf] - Nature of Software Development (by Ron Jeffries)
  
 
== Tutorials ==
 
== Tutorials ==
 
* Tutorial 1: [[prg2/arcade1|Getting started with Arcade]]
 
* Tutorial 1: [[prg2/arcade1|Getting started with Arcade]]
 
* Tutorial 2: [[prg2/arcade2 space|Space game]]
 
* Tutorial 2: [[prg2/arcade2 space|Space game]]
* Tutorial 3: [[prg2/arcade3 flappy dot|Flappy dot]]
+
* Tutorial 3: [[prg2/arcade3 snake|Snake]]
 +
* Tutorial 4: [[prg2/arcade4 flappy dot|Flappy dot]]
 +
* Tutorial 5: [[prg2/arcade5 maze|Pacman]]
 +
* Tutorial 6: [[prg2/arcade6 dotrun|Dot run]]
  
 
== Other links ==
 
== Other links ==

รุ่นแก้ไขปัจจุบันเมื่อ 16:08, 17 มีนาคม 2564

For the recent offering of this course for Academic Year 2020, see Programming 2 2563.

This is a course homepage for Programming 2 for Academic year 2018, second semester.

Materials

Tutorials

Other links