Instructor  : Chaiwoot Boonyasiriwat (chaiwoot@gmail.com) 
Class Hours  : Thursday (1:30PM  4:30PM) 
Classroom  : Computer Room in SC3 
Objectives  : To understand the concepts of C and MATLAB programming and numerical methods, and be able to write computer programs to solve mathematical problems 
Grading  : attendance 10, homework 25, term project 25, midterm exam 20, final exam 20 
Topics  Last modified date 

Course overview  Jan 17, 2018 
Computer system and architecture  Jan 18, 2018 
C programming  Mar 8, 2018 
MATLAB programming  Oct 25, 2016 
Mathematics  Mar 22, 2018 
lecture note on numerical methods  Apr 10, 2018 
Lecture  Date  Topics  Assignments 

1  Jan 18, 2018  Course overview, computer system and architecture , C programming: Hello World, code compilation and program execution, variables and data types, arithmetic operations  Homework 1 (Due Jan 25) 
2  Jan 25, 2018  C programming: logical operations, assignment operations, standard input/output, function, pointer Mathematics: absolute and relative errors 
Homework 2 (Due Feb 1) Solutions: problem1.c, problem2.c, problem3.c 
3  Feb 1, 2018  C programming: storage size and sizeof, program control and flow chart, file input/output MATLAB programming: load text file, 1D graph plotting Algorithm: random number generation 
Homework 3 (Due Feb 8) 
4  Feb 8, 2018  C programming: array, structure, typedef, flowchart (revisited) Mathematics: complex arithmetic Resource: test_mylib.zip, test_array1.c, test_struct1.c, test_struct2.c, test_complex.zip 
Homework 4 (Due Feb 15)
Solution: wave.c, wave.m 
5  Feb 15, 2018  C programming: enumeration, swithcase, break, continue MATLAB programming: load and plot data Mathematics: complex arithmetic Exercises: Mandelbrot set fractal (flowchart), grade counting Resources: test_enum.c, fractal.ppm, compute_grade.c 
Homework 5, fractal_project.zip, Solution: main.c 
6  Feb 22, 2018  C programming: storage class, scope, binary file, dynamic memory allocation Resources: function_evaluation.c, storage_class.c, test_static.c, test_pointer.c, test_fwrite.c, test_database.c 

  Mar 1, 2018  No class  holiday  
7  Mar 8, 2018  C programming: const, directive MATLAB programming: setting label and title of figure, setting font size Mathematics: Maclaurin's and Taylor's series expansions Resource: data.txt, sort1.c 

  Mar 15, 2018  Midterm examination  Solutions to midterm problems 
8  Mar 22, 2018  Mathematics: Taylor's series expansion (continued), numerical differentiation Resources: derivative1.c, plot_error.m 
Homework 6 
9  Mar 29, 2018  Quiz 1 (solution)  Homework 7 
10  Apr 5, 2018  Numerical methods: numerical differentiation using finite difference method, numerical integration (rectangular and trapezoidal rules), numerical solution to ODEs using forward Euler and predictorcorrector methods Resource: lecture note on numerical methods 
Homework 8 
11  Apr 12, 2018  No class  holiday  
12  Apr 19, 2018  Web development, hardware programming Resources: HTML, CSS, JavaScript, Canvas,Processing.js, Animation Codes: car.cpp, canvas.html, free_fall.html, mouse_events.html, keyboard_events.html 
Homework 9 
13  Apr 26, 2018  Web development (continued) Resources: test1.html, style.css, calculator.html, solar_system.html 

  May 3, 2018  Review Resource: lorentz_force.html, mouse_button.html 

May 9, 2018  Project presentation


  May 15, 2018  Final examination 