Table of Contents

204111 วิทยาการคอมพิวเตอร์เบื้องต้น

Fundamentals of Computer Science

2014 S1

ข่าวประกาศ

การวัดและประเมินผล

ลักษณะกระบวนวิชา

วัตถุประสงค์กระบวนวิชา

นักศึกษาสามารถ

  1. อธิบายเกี่ยวกับอัลกอริทึมและการแก้ปัญหาการทำงานของคอมพิวเตอร์ ตลอดทั้งแนวคิดของภาษาโปรแกรม
  2. ออกแบบและพัฒนาอัลกอริทึม และเขียนโปรแกรมขั้นต้นได้

เวลาเรียน

Section 001:

Section 002:

Section 003:

Facebook Group: http://www.facebook.com/groups/14S1.204111

วันสอบ

หลักเกณฑ์การให้คะแนน

การลอกการบ้าน แบบฝึกหัดหรืองานที่ได้รับมอบหมาย ถือเป็นการทุจริต

เนื้อหาวิชาและแผนการสอน

Course Syllabus

Schedule

Week Lecture Lab Readings
01 14 Aug - 15 Aug no class - Getting Started pdf
- Simple I/O
Lab:[2]
Ch1.1
02 21 Aug - 22 Aug no class - Concept and properties of algorithms pdf
- Syntax and semantics of a higher-level languages
03 25 Aug - 29 Aug - Pseudo code descriptions of algorithms pdf
- Variable, types, expression and assignment I pdf
- Variable, types, expression and assignment II pdf
04 1 Sep - 5 Sep - Math for CS: Numbers pdf - Conditional Control Structures I pdf pdf
- Case Study: Finding Max, Min and More pdf
Lec:[1]
Ch1
05 8 Sep - 12 Sep - Math for CS: Boolean Algebra pdf - Conditional Control Structures II pdfLec:[1]
Ch2
06 15 Sep - 19 Sep - Bitwise Operation pdf
- Conditional Control Structure III pdf
- C Coding Style pdf
- Conditional Control Structures IV
- Problem Solving Practice: pdf
07 22 Sep - 26 Sep - Data Representation I pdf- Iterative Control Structures I pdfLec:[4]
Ch2.1-2.3
08 29 Sep - 3 Oct - Exam Review
- Boolean Algebra Exercise I II
- Answer Key for in Class Exercise key I
- Solution for Lec02 Assignment soln
- Answer Key for Tutoring Session key II
- Exam Review
Midterm Exam <fc #FF0000>12 Oct 12.00-15.00</fc> (Midterm exam period 6-12 Oct 2014)
09 13 Oct - 17 Oct - Data Representation II pdf - Iterative Control Structures II pdf
10 20 Oct - 24 Oct - Basic Machine Organization pdf
- The Von Neumann model of computation
- Iterative Control Structures III pdf
11 27 Oct - 31 Oct - Machine Instruction Cycle pdf- 1D array pdf
12 3 Nov - 7 Nov - Function and Parameter Passing I pdf- Function and Parameter Passing II pdf
- I/O Redirection pdf
13 10 Nov - 14 Nov - Problem solving process pdf
- String Functions pdf
- 2D array pdf
- Function and Parameter Passing III
14 17 Nov - 21 Nov - Algorithm: sorting and searching pdf - Function and Parameter Passing IV
15 24 Nov - 28 Nov - Exam Review pdf - Exam Review
- Notes on 2D Arrays pdf
Final Exam <fc #FF0000>12 Dec 15.30-18.30</fc> (Final exam period 1-16 Dec 2014)

การส่งงานผ่านเว็บไซต์ (เฉพาะการบ้านที่กําหนด)

http://hw.cs.science.cmu.ac.th/CS_HW/p204111.html

หรือที่เว็บไซต์ของภาควิชา http://www.cs.science.cmu.ac.th→คลิกหัวข้อเว็บเพจส่งการบ้านโดยให้คลิก Link เพื่อ Login ตามรหัสวิชา และตอนเรียน (Section) ที่ลงทะเบียนเรียน จะมีการแจก User name และรหัสผ่าน ในชั่วโมงปฏิบัติการ ให้นักศึกษาจดบันทึก User name และรหัสผ่านให้ดี อย่าทําหาย

หากส่งงานช้ากว่ากำหนด จะคิดคะแนน 80% จากคะแนนเต็ม และไม่อนุญาตให้ส่งงานช้าเกิน 3 วัน
งานที่ตั้งชื่อไฟล์ไม่ตรงกับที่กำหนดในใบงาน จะไม่ได้รับการตรวจ

/* ชื่อ นามสกุล
 * 5XXXXXXXX
 * Lab YY
 * Problem Z
 * 204111 Sec 00A */
< 100% >
ชื่อ นามสกุล ลำดับที่ ##
5XXXXXXXX
Lab (หรือ Lec) YY
Problem Z
204111 Sec 00A

กำหนดส่งงาน (Online)

* ไม่รับงานส่งสายหลังจากวันที่ที่ระบุในวงเล็บ (เกิน 3 วันจากกำหนดส่ง)

<100%>
Assignment Assignment Sheet File Naming Format Due Date Globbing
(สำหรับ TA)
<fc #800080>001</fc> <fc #ff6600>002</fc> <fc #0000ff>003</fc>
Lab01_1 Lab01 Lab01_1_5XXXXXXXX.c @#F0DCF0:20 Aug
<fc #ff0000>(23 Aug)</fc>
@#FCD9BC:21 Aug
<fc #ff0000>(24 Aug)</fc>
@#DAE7F6:21 Aug
<fc #ff0000>(24 Aug)</fc>
[Ll]ab01_1_5????????.c
Lab02_1b Lab02 Lab02_1b_5XXXXXXXX.c @#F0DCF0:27 Aug
<fc #ff0000>(30 Aug)</fc>
@#FCD9BC:28 Aug
<fc #ff0000>(31 Aug)</fc>
@#DAE7F6:28 Aug
<fc #ff0000>(31 Aug)</fc>
Lab02_1b_5????????.c
Lab03_1 Lab03 Lab03_1_5XXXXXXXX.c @#F0DCF0:3 Sep
<fc #ff0000>(6 Sep)</fc>
@#FCD9BC:4 Sep
<fc #ff0000>(7 Sep)</fc>
@#DAE7F6:4 Sep
<fc #ff0000>(7 Sep)</fc>
Lab03_1_5????????.c
Lab03_2b Lab03_2b_5XXXXXXXX.c Lab03_2b_5????????.c
Lab04_1 Lab04 Lab04_1_5XXXXXXXX.c @#F0DCF0:10 Sep
<fc #ff0000>(13 Sep)</fc>
@#FCD9BC:11 Sep
<fc #ff0000>(14 Sep)</fc>
@#DAE7F6:11 Sep
<fc #ff0000>(14 Sep)</fc>
Lab04_1_5????????.c
Lab04_2 Lab04_2_5XXXXXXXX.c Lab04_2_5????????.c
Lab04_3b Lab04_3b_5XXXXXXXX.c Lab04_3b_5????????.c
Lab05_1a Lab05 ทำในกระดาษขนาด A4 @#F0DCF0:18 Sep @#FCD9BC:19 Sep @#DAE7F6:19 Sep ทำในกระดาษขนาด A4
Lab05_2a ทำในกระดาษขนาด A4 ทำในกระดาษขนาด A4
Lab05_1b Lab05_1b_5XXXXXXXX.c @#F0DCF0:20 Sep
<fc #ff0000>(23 Sep)</fc>
@#FCD9BC:21 Sep
<fc #ff0000>(24 Sep)</fc>
@#DAE7F6:21 Sep
<fc #ff0000>(24 Sep)</fc>
Lab05_1b_5????????.c
Lab05_2b Lab05_2b_5XXXXXXXX.c Lab05_2b_5????????.c
Lab06_1a Lab06 ทำในกระดาษขนาด A4 @#F0DCF0:2 Oct @#FCD9BC:3 Oct @#DAE7F6:3 Oct ทำในกระดาษขนาด A4
Lab06_2a ทำในกระดาษขนาด A4 ทำในกระดาษขนาด A4
Lab06_3a ทำในกระดาษขนาด A4 ทำในกระดาษขนาด A4
Lab06_1b Lab06_1b_5XXXXXXXX.c @#F0DCF0:4 Oct
<fc #ff0000>(7 Oct)</fc>
@#FCD9BC:5 Oct
<fc #ff0000>(8 Oct)</fc>
@#DAE7F6:5 Oct
<fc #ff0000>(8 Oct)</fc>
Lab06_2b_5????????.c
Lab06_2b Lab06_2b_5XXXXXXXX.c Lab06_2b_5????????.c
Lab06_3b Lab06_3b_5XXXXXXXX.c Lab06_3b_5????????.c
Lab07_1 Lab07 Lab07_1_5XXXXXXXX.c @#F0DCF0:22 Oct
<fc #ff0000>(25 Oct)</fc>
@#FCD9BC:23 Oct
<fc #ff0000>(26 Oct)</fc>
@#DAE7F6:23 Oct
<fc #ff0000>(26 Oct)</fc>
Lab07_1_5????????.c
Lab07_2 Lab07_2_5XXXXXXXX.c Lab07_2_5????????.c
Lab07_3 Lab07_3_5XXXXXXXX.c Lab07_3_5????????.c
Lab07_4 Lab07_4_5XXXXXXXX.c Lab07_4_5????????.c
Lab08_1 Lab08 Lab08_1_5XXXXXXXX.c @#F0DCF0:6 Nov
<fc #ff0000>(9 Nov)</fc>
@#FCD9BC:1 Nov
<fc #ff0000>(4 Nov)</fc>
@#DAE7F6:1 Nov
<fc #ff0000>(4 Nov)</fc>
Lab08_1_5????????.c
Lab08_2 Lab08_2_5XXXXXXXX.c Lab08_2_5????????.c
Lab08_3 Lab08_3_5XXXXXXXX.c Lab08_3_5????????.c
Lab08_4 Lab08_4_5XXXXXXXX.c Lab08_4_5????????.c
Extra Credit Lab08_EX1_5XXXXXXXX.c Lab08_EX1_5????????.c
Lab09_1 Lab09 Lab09_1_5XXXXXXXX.c @#F0DCF0: 6 Nov
<fc #ff0000>(9 Nov)</fc>
@#FCD9BC: 7 Nov
<fc #ff0000>(10 Nov)</fc>
@#DAE7F6: 7 Nov
<fc #ff0000>(10 Nov)</fc>
Lab09_1_5????????.c
Lab09_2 Lab09_2_5XXXXXXXX.c Lab09_2_5????????.c
Lab09_3 Lab09_3_5XXXXXXXX.c Lab09_3_5????????.c
Lab09_4 Lab09_4_5XXXXXXXX.c Lab09_4_5????????.c
Lab10_1 Lab10 Lab10_1_5XXXXXXXX.c @#F0DCF0: 13 Nov
<fc #ff0000>(16 Nov)</fc>
@#FCD9BC: 14 Nov
<fc #ff0000>(17 Nov)</fc>
@#DAE7F6: 14 Nov
<fc #ff0000>(17 Nov)</fc>
Lab10_1_5????????.c
Lab10_2 Lab10_2_5XXXXXXXX.c Lab10_2_5????????.c
Lab10_3 Lab10_3_5XXXXXXXX.c Lab10_3_5????????.c
Lab11_1 Lab11 Lab11_1_5XXXXXXXX.c @#F0DCF0: 21 Nov
<fc #ff0000>(24 Nov)</fc>
@#FCD9BC: 22 Nov
<fc #ff0000>(25 Nov)</fc>
@#DAE7F6: 22 Nov
<fc #ff0000>(25 Nov)</fc>
Lab11_1_5????????.c
Lab11_2 Lab11_2_5XXXXXXXX.c Lab11_2_5????????.c
Lab11_3 Lab11_3_5XXXXXXXX.c Lab11_3_5????????.c

IDE

IDE (Integrated Development Environment) หลักที่ใช้ในภาคเรียนนี้ คือ Code::Blocks version 13.12

Software อื่นๆ

เอกสารเพิ่มเติม

[1] Mathematics for Computer Scientists by Janacek and Close
[2] The C Programming Language (ANSI C Version) 2nd Edition by Ritchie and Kernighan
[3] A First Book of ANSI C, 4th Edition by Gary J. Bronson
[4] Computer Systems: A Programmer's Perspective 2nd Edition by Bryan and O'Hallaron

ภาคการศึกษาอื่นๆ

2013 Semester I