====== 01204111 Computer and Programming: Section 450 ====== **Hours:** Th 10:30 – 12:30 Room 203 (lecture), Tu 9 – 12 Room 0401 (lab)\\ **Instructor:** Jittat Fakcharoenphol (jittat at gmail dot com)\\ **TA's:** TBA ====== Announcement ====== * The final examination will be on October 1st. 9-12. at room 3313 (on the extra floor of the 3rd building. You can get there by the stairs at the copy center). * Main topics for final: * Methods * Parameter passing: normal, ''ref'', ''out''. * Variable scope * Arrays * One-dimensional arrays, multi-dimensional arrays * Structures (struct) * Additional session on Monday 28th will be at Room 203. * [[204111-52:Lab midterm score]] * Make-up lab section: Tuesday 21 July. 13-16. Room 607, Building 15. * [[http://158.108.183.10/elab|E-labsheet server]] * Want to connect to e-lab from home? See [[204111-52:vpn-info|how to set up VPN]]. * Welcome to the course! * Links for software installation: * .NET 3.5: [[http://www.microsoft.com/downloads/details.aspx?familyid=AB99342F-5D1A-413D-8319-81DA479AB0D7&displaylang=en|microsoft]], [[http://theory.cpe.ku.ac.th/~jittat/204111/dotnetfx35.exe|ku mirror]] * SharpDevelop: [[http://www.icsharpcode.net/OpenSource/SD/Download/GetFile.aspx?What=Setup&Release=Montferrer|main]], [[http://theory.cpe.ku.ac.th/~jittat/204111/SharpDevelop_3.0.0.3800_Setup.msi|ku mirror]] ====== Course Information ====== **Course description**\\ Basic structure of modern computer systems; data representation in computers; algorithmic problem solving; program design and development methodology; introductory programming using a high-level programming language; programming practice in computer laboratory. **Course description (in other words):** We will learn how to program //well//. Along with that, we will learn various software development practices including basic software design and testing. **Grading:** Quiz 10%, Lab + lab homework 10%, Two lab examinations 20%, Midterm 30%, Final 30% **Copying and cheating policy:** According to the faculty of engineering policy, those involved will be sent to the Dean for disciplinary action. Unless stated otherwise, all projects are individual assignments and are expected to be the student's own work. ====== Schedule and materials ====== ***Week 1**: Introduction * Lecture slides (Taken from Aj.Thanachat Thanomkulabut's course): [[http://csharp.mckazine.com/documents/2009/01_Intro.ppt|Intro]], [[http://csharp.mckazine.com/documents/2009/02_Basic.ppt|C# Basic Concept]] * [[204111-52:lab1|Lab information]] ***Week 2**: Input-output and conditional statements * Lecture slides (Taken from Aj.Thanachat Thanomkulabut's course): [[http://csharp.mckazine.com/documents/2009/03_Read_Write_Statements.ppt|Input/Output]], [[http://csharp.mckazine.com/documents/2008/04_selection.ppt|Conditional statements]] ***Week 3**: Iteration 1 * Lecture slides (Taken from Aj.Thanachat Thanomkulabut's course): [[http://csharp.mckazine.com/documents/2008/05_LoopI.ppt|Iteration 1]] ***Week 4**: Iteration 2 * Lecture slides (Taken from Aj.Thanachat Thanomkulabut's course): [[http://csharp.mckazine.com/documents/2008/06_LoopII.ppt|Iteration 2]] ***Week 5**: Methods 1 * Lecture slides (Taken from Aj.Thanachat Thanomkulabut's course): [[http://csharp.mckazine.com/documents/2009/07_Method1.ppt|Methods 1]], [[http://csharp.mckazine.com/documents/2009/Lab08_Method_partI_.pdf|Lab sheets]] (**very cool!**) ***Week 6**: Methods 2 * Lecture slides (Taken from Aj.Thanachat Thanomkulabut's course): [[http://csharp.mckazine.com/documents/2009/07_Method2.ppt|Methods 2]], [[http://csharp.mckazine.com/documents/2009/07_Method3.ppt|Methods 3]] ***Week 7**: Arrays 1 * Lecture slides (Taken from Aj.Thanachat Thanomkulabut's course): [[http://csharp.mckazine.com/documents/2009/10_Array.ppt|Array]] ***Week 8**: Arrays 2 * Lecture slides (Taken from Aj.Pattara's course): [[http://www.cpe.ku.ac.th/~pattara/csharp/ppt/module08-arrayI-II-methodI.ppt|array1-2 + method]] * [[204111-52:Mine-sweeper counter]] ***Week 9**: * Lecture slides (Taken from Aj.Pattara's course): [[http://www.cpe.ku.ac.th/~pattara/csharp/ppt/module10-struct_noanswer.ppt|struct]] * [[204111-52:How to read multiple values in a line in csharp]] * [[204111-52:struct Point]] ***Week 10**: * [[204111-52:Dog]] ====== Links ====== * IDE: [[http://www.icsharpcode.net/OpenSource/SD/|SharpDevelop]], [[http://www.microsoft.com/express/vcsharp/|Visual C# Express Edition]], [[http://monodevelop.com/|MonoDevelop]] (for Linux)