322 114: Structural Programming for Computer Science (Spring 2012)


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: Monday 10.30am to 12.00pm (or email me for appointment)
Class homepage: http://web.kku.ac.th/chakso/322114_Spring12/
Teaching Assistant:
  • Kanokmon Rujirakul ace_kamikaze AT hotmail.com , Monday 5.00pm to 07.00pm @Ph.D. level 3 (Tentative)
  • Nutnicha Weeramongkonlert nattyjang42 AT gmail.com, Tuesday 06.00pm to 08.00pm @6706 (Tentative)
  • Comdet Phaudphut listzone AT hotmail.com, Thursday 5.00pm to 07.00pm @Reserach Project level 2 (Tentative)

  • Location:
    Section I+II: - the class meets on Monday at room 8305 from 01.00pm to 03.00pm for lecture;
    - Tuesday from 01.00pm to 03.00pm for 6601 labC (Section I)
    - Tuesday from 03.00pm to 05.00pm for 6601 labC (Section II)
    Section III+IV: - the VIP class meets on Monday at room 1101 from 08.30am to 10.30am for lecture;
    - Tuesday from 08.30am to 10.30am for 6601 labC (Section III)
    - Tuesday from 10.30am to 12.30pm for 6601 labC (Section IV)
    Facebook Group: Facebook Group
    Class Email: cs322114 AT gmail.com
    Textbook/Supplementary
    *ดร. จักรชัย โสอินทร์, "Computer Programming in C (Thai Edition)," 2012. 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 (Class in 2011: Computer Programing I)
    SciWeek Project
    News

    Lecture Schedule: (Tentative Subject to Change)
    ClassDayDateTopic
    1Monday05/28/2012Course Overview
    2Monday06/04/2012Introduction to Computer System
    3Monday06/11/2012Flowchart and Pseudo Code
    4Monday06/18/2012Introduction to C Programming
    5Monday06/25/2012Control Structure
    6Monday07/02/2012(Cont.) and Encoragement
    7Monday07/09/2012Function + Dhamma #1 + Dhamma #2 + Dhamma #3
    8Monday07/16/2012Review for midterm
    9Monday07/23/2012Mid-Term Exam (week 07/23-29 for us 07/25)
    10Monday07/30/2012Array
    11Monday08/06/2012(Cont.)
    12Monday08/13/2012Structure
    13Monday08/20/2012File
    14Monday08/27/2012(Cont.)
    15Monday09/03/2012Pointer
    16Monday09/10/2012Review for Final
    17Monday09/17/2012Final Exam (week 09/17-10/04 for us 09/28)


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

    Note:
    1. Each full stated above lab will be issued every Friday.
    2. During the lab hour, there is "one" additional lab needed to complete WITH in-class submission -There is no Internet conneciton during the lab.
    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 15 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 cs322114@gmail.com including title prefix = "322114_Spring2012_XX:HWY" such that XX is your section number and Y is your homework number. You MUST zip all file into StudentID_HWZ.rar such that Z is homework number.

    Homework

    Description

    Out DateDue Date
    #1Flowchart and Pseudo Code06/11/201206/25/2012
    #2Control Structure06/25/201207/09/2012
    #3Array08/06/201208/20/2012
    #4Structure and File + Quiz708/20/201209/03/2012

    There are also 6 to 8 Quiz after lecture.
    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 (hand-written) 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 (2-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
  • Midterm Scenario: Set up Robot walking in mesh (Micro Mouse) competing with each other to find the exit; who is faster and within time limit.
  • Finalterm Scenario: Set up Robot Rat (escaping from cat as fast as possible - faster but only 1 eye) and Cat (catch the rat - slower but 3 eyes) within time limit.
  • 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
    #1Preparation to Robot I05/29/2012
    #2Preparation to Robot II06/05/2012
    #3Robot Hello World06/12/2012
    #4Robot Move06/19/2012
    #5Robot Attack06/26/2012
    #6Robot: Infrared Sensor07/03/2012
    #7Robot: 3-eye Infrared Sensor07/10/2012
    #8Robot: Wrap up for Midterm07/17/2012
    #9(Midterm)07/23-28 2012
    #10Robot: Preparation for Competition I07/30/2012
    #11Robot: Preparation for Competition II08/07/2012
    #12First Robot Exam (Robot Maze) @SciWeek08/14/2012
    #13Robot: Walking Along the line08/21/2012
    #14Robot: Walking within 2 lines08/28/2012
    #15Robot: Using Sonar Sensor09/04/2012
    #16Optimized your Robot for final competition (Rat vs. Cat)09/11/2012
    #17Second Robot Exam (Rat vs. Cat)09/17-10/04 2012

    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 Friday) + 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