322 117: Computer Programming I (Spring 2011)


Course Description:
Introduction to computer programming: flowcharting, pseudocode, data types, variables, control structure, array, function, input/output, basic computer program language

Prerequisite: None

Instructor: Chakchai So-In, Ph.D., chakso AT kku.ac.th
Office: SC 6706
Office Hours: Wednesday 08.30am to 10.30pm (or email me for appointment)
Class homepage: http://web.kku.ac.th/chakso/322117_Spring11/
Teaching Assistant:
  • Nutnicha Weeramongkonlert nattyjang42 AT gmail.com, Friday 05.00pm to 07.00pm @6706
  • Comdet Phaudphut listzone AT hotmail.com, Thursday 5.00pm to 07.00pm @Project Year 3 level 2

  • Location:
    Section I: - the class meets on Wednesday at room 8504 from 03.00pm to 05.00pm for lecture; and from 05.00pm to 07.00pm for labA.
    Section II+III+IV: - the class meets on Tuesday at room 1101 from 12.30pm to 02.30pm for lecture;
    - from 05.00pm to 07.00pm for labB (Section II)
    - from 05.00pm to 07.00pm for labC (Section III)
    - on Wednesday from 10.30am to 12.30pm for labC (Section IV)
    Facebook Group: Facebook Group
    Class Email: cs322117 AT gmail.com
    Textbook/Supplementary
    *ดร. จักรชัย โสอินทร์, "Computer Programming in C (Thai Edition)," 2011. Book_Cover
    1. ธีรวัฒน์ ประกอบผล, “คู่มือการเขียนโปรแกรม ภาษา C” สำนักพิมพ์ ซิมพลิฟลาย, 2010.
    2. นวลวรรณ สุนทรภิษัช และคณะ, “คอมพิวเตอร์ : การเขียนโปรแกรมคอมพิวเตอร์ ภาษาซี” สำนักพิมพ์ สวอน, 2009.
    3. Yaowarat Sirisathitkul, “Structure Programming” School of Informatics, Walailak University, 2008.
    4. คณาจารย์ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยสงขลานครินทร์, “Introduction to Computer Programming” 2007.
    5. Website http://www.programming.in.th/
    6. Other C programming books or wiki (go search)
    Option (download Thai C book here) and here is an example of C code
    Example SciWeek Project
    News

    Lecture Schedule: (Tentative Subject to Change)
    ClassDayDateTopic
    1Tuesday05/31/2011Course Overview
    2Tuesday06/07/2011Introduction to Computer System
    3Tuesday06/14/2011Flowchart and psudocode
    4Tuesday06/21/2011Introduction to C Programming
    5Tuesday06/28/2011Control Structure
    6Tuesday07/05/2011(Cont.) and Encoragement
    7Tuesday07/12/2011Function + Dhamma #1
    8Tuesday07/19/2011Review for midterm
    9Tuesday07/26/2011Mid-Term Exam (week 07/25-29)
    10Tuesday08/02/2011Array
    11Tuesday08/09/2011(Cont.)
    12Tuesday08/16/2011Structure
    13Tuesday08/23/2011File
    14Tuesday08/30/2011(Cont.)
    15Tuesday09/06/2011Pointer
    16Tuesday09/13/2011Review for Final
    17Tuesday09/20/2011Final Exam (week 09/19-10/06)

    Note: For Section II; date+2 say Tuesday 08/02 = Wednesday 08/04

    Lab Schedule: Tentative (Subject to change)
    LabsDateTitleDue Date
    1Tuesday05/31/2011Overview: Labs
    2Tuesday06/07/2011Lab1 - CodeBlock
    3Tuesday06/14/2011Lab2 - Flowchart
    4Tuesday06/21/2011Lab3 - C programming
    5Tuesday06/28/2011Lab4 - Operation
    6Tuesday07/05/2011Lab5 - Selection
    7Tuesday07/12/2011Lab6 - Loop
    8Tuesday07/19/2011Lab7 - Function
    9Tuesday08/02/2011Midterm Lab Exam + Robot Project Progress
    10Tuesday08/09/2011Robot Project Progress (Show completion of all robot labs - Lab1-Lab7)
    11Tuesday08/16/2011First Robot Exam (Robot Maze) @Sciweek
    12Tuesday08/23/2011Lab8 - String
    13Tuesday08/30/2011Lab9 - Array
    14Tuesday09/6/2011Lab10 - Structure
    15Tuesday09/13/2011Second Robot Exam (Rat vs. Cat) + Final Lab Exam

    Note:
    There is no Internet conneciton during the lab. Each lab will be issued every Sunday.
    The lab MUST be turned during class in order to gain extra credits.
    You MUST zip all file into StudentID_LabZ.zip such that Z is Lab number.
    Assignments (Spring 2011 schedule) (Subject to Change)
    Four or six homeworks will be assigned throughout the course. All assignment MUST be turned in as both HARDCOPY and SOFTCOPY (during class or in my mail box). All submission MUST be turned in 7 mins before class. For all reasons, late penalty will be applied. Late homework will be assessed a 30% penalty. No homework will be accepted more than one day late. You have to email me to cs322117@gmail.com including title prefix = "322117_Spring2011_XX:HWY" such that XX is your section number and Y is your homework number. You MUST zip all file into StudentID_HWZ.zip such that Z is homework number.

    Homework

    Description

    Out DateDue Date
    #1Flowchart06/14/201106/28/2011
    #2Control Structure06/28/201107/12/2011
    #3Function07/12/201107/26/2011
    #4Array08/09/201108/23/2011
    #5Structure08/23/201109/06/2011
    #6File08/31/201109/14/2011

    Note:For homework and lab assignment; you MUST include the cover letter with students' signature AND embeded into the beginning of the ".c" program OTHERWISE they WILL NOT be graded.
    Two Exams (Midterm and Final)
    Lecture:
    Allow: calculator (talks to the department for specific models)
    Allow: One A4 piece of paper (both front and back)
    The final exam material will be after the mid-term; however, all related contents will be also covered.
    The exam includes 1. True/False (+1, -1, and 0), 2. Multiple Choices, 3. Fill in the blank, and 4. Write C program
    Also, the final exam material will be after the mid-term; however, all related contents will be also covered.

    Lab (3-4 questions):
    Allow: open book BUT no Internet Connection!
    1 = similar to lab/homework questions
    2-3 = Advanced C programming questions
    4 = Challenge problem (Check out Computer Olympic Questions)
    Mostly, some exams' ideas will be posted a few day before exams.
    Project
  • Members: 4-8 teams
  • Scenario: Set up Robot walking in mesh competing with each other to find the golden egg; who is faster and within time limit. (Tentative OR maybe firefighter robot/ walking along the line robot)
  • Robot: Interactive C Board AX-11
  • Detailed C programming: I and II
  • Inex Cops (deatiled ROBOT): http:/www.inexglobal.com/; Interactive C Manual
  • More information about sensor (optional); Bluetooth, Xbee, Motion, Light Thermo/Humidity Sensor, Compass, Color, Accelerometer, Sound Dectector, GPS, Remote Infrared
  • Robot@youtube: Overall Sensing, Line Detector, Gripper Robotic, Firefighther, Maze Solver I and II
  • Links for electronic component (Thailand): WARF; THAIEASYELEC
  • Links to Robot Info: shoprobot, robots-dream

  • scenario

    Robot Lab

    Description

    Out Date
    #1Robot Hello World06/14/2011
    #2Robot Move06/21/2011
    #3Robot Attack06/28/2011
    #4Robot: Walking within 2 lines07/05/2011
    #5Robot: Walking Along the line07/12/2011
    #6Robot: Infrared Sensor07/19/2011
    #7Robot: Color Detection08/02/2011
    #8Robot: 3-eye Infrared Sensor08/09/2011
    #9First Robot Exam (Robot Maze) @SciWeek08/18/2011
    #10-14Optimized your Robot for final competition (Maze solver and/or Line Detector Robots)08/25/2011-09/14/2011
    #15Second Robot Exam (Rat vs. Cat)09/20/2011

    Note:Robot Exam: Randomly choose group memebers to do particular task and grade
    Academic Integrity
    Students at Khon Khan University are engaged in the first step for their professional career with the highest standards. Please follow the academic integrity guideline at Cheating and Plagiarism [@CMU]. All these rules are enforced for the entire course.
    Grading:
    Mid-Term Exam (Lecture + Lab)25%
    Final Exam (Lecture + Lab)25%
    Lab (issued every Sunday) + Homework + Quiz30%
    C Robot Project15%
    Class Participation5%

    The final grade will be curved based on the overall performance of the whole class (also scale based on the standard, say, A = 80).
    Note: Extra Credits +5% 1st round competition; ++5% Final round competition; +++10% = winner for ACM/ICPC
    There are also bonus questions often given (upto 15%).

    Other related computer programming research links
    1. Programming Research Laboratory, Northeastern University, http://www.ccs.neu.edu/research/prl/
    2. Programming Language and Compiler Research Groups, CMU, http://www.cs.cmu.edu/~mleone/language/projects.html
    3. Concurrent Programming Research Laboratory, IIT, http://www.iit.edu/csl/cs/research/concurrent_programming.shtml
    4. Programming Research Laboratory, Seoul National University, http://ropas.snu.ac.kr/
    5. Cambridge Programming Research Group, University of Cambridge, http://www.cl.cam.ac.uk/research/cprg/
    6. Principles of Programming Research Group, NUI Maynooth, http://www.cs.nuim.ie/research/pop/
    7. System Programming Research Group, University of Rome, http://www.sprg.uniroma2.it/index_e.html

    Back to Chakchai So-In's Home Page