DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE CSC 113 – INTRODUCTION TO COMPUTER PROGRAMMING (3 SCH) Course (catalog) Description: This course deals with the introduction to the solution of engineering problems through the use of the computer. This course will cover elementary programming concepts using the programming language MATLAB and apply those concepts towards the solution of engineering problems. No previous knowledge of computer programming or numerical analysis is assumed. Prerequisite: None Textbook: MATLAB for Engineers, Holly Moore, Prentice Hall, 2007; ISBN-13: 9780-13-187244-8. Course Objectives: Upon completion of CSC 113, students should have learned how to construct computer program flow diagrams, implement programs using MATLAB and apply those skills towards the numerical solution of engineering problems. Specifically: Understand basic foundations of computer programming Have a basic understanding of how engineers use computers to numerically solve programs o Have a basic understanding of how to test and debug computer programs o Have the ability and an appreciation for good documentation of computer programs o Understand basic algorithms for (1) numerical integration, (2) numerical differentiation, (2) curve fitting, (3) solution of simultaneous linear equations and (4) numerical solution of ordinary differential equations o Have a reasonably good knowledge of the MATLAB programming environment o o Topics Covered: Introduction to MATLAB, matrices and vectors, plotting using MATLAB, MATLAB script and function files, branching statements, loops, solving simultaneous equations, finding roots, interpolation and curve fitting, numerical differentiation and numerical integration. Class Schedule: 3 sessions per week, 50 minutes each 1 WK Introduction to Programming Languages 2 WKS Introduction to MATLAB 1.5 WKS Matrices and Vectors 0.5 WK 2D Plotting using MATLAB 0.5 WK 3D Plotting using MATLAB 1 WKS MATLAB Script Files 1 WKS MATLAB Function Files 1 WK Introduction to Programming in MATLAB 1 WK 1 WK 1 WK 0.5 WK 0.5 WK 0.5 WK 0.5 WK 0.5 WK 2 WKS Introduction to Branching Statements Introduction to Loops Putting it all together: Programming Examples Solving Simultaneous Equations Finding Roots of Equations Interpolation and Curve Fitting Numerical Differentiation Numerical Integration Putting it together: Engineering Applications I Contribution of Course to Meeting the Professional Component The topics covered in this course prepare students to solve various practical engineering problems using numerical methods. The course enables students to apply their knowledge in computer programming to solve complicated engineering problems not easily solved analytically. Relationship of Course to Program Objectives: This course supports several EE educational objectives PEO 1, PEO 3 and PEO5 as listed in Table 2. Specifically, 1. It exposes students to the basics of computer programming and applies those skills towards the solution of real-world engineering problems. 2. It prepares students to enter beginning positions that require computer programming skills as well as knowledge of numerical algorithms using in engineering. 3. It enables students to use modern engineering tools such as MATLAB in the design and simulation of the course design projects. Expected Course Outcomes: After the completion of this course, students are expected to: CO-1: Be reasonably proficient at writing computer programs using MATLAB CO-2: Be able to formulate computer algorithms and implement those algorithms in MATLAB to solve engineering problems. CO-3: Be able to document code CO-4: Be able to decipher MATLAB code written by others CO-5 Be able to graphically present the output of computer programs in a well thought out manner CO1 CO2 CO3 CO4 CO5 AO-1 X AO-2 X AO-3 X AO-4 AO-5 X AO-6 AO-7 AO-8 AO-9 AO-10 AO-11 X X X X X X X X X X X X X X X X X X X X X Outcome Assessment: The course employs the following mechanisms to assess the above learning outcomes: 1. Homework is assigned and graded weekly to assess the level of student understanding of topics covered during the week. The learning outcomes are also assessed through two exams and a number of computer projects. 2. The teacher frequently asks students if they understand the lectures. 3. Student performance in the course homework, projects and exams are used to assess the learning outcomes 1-5. 4. The overall assessment of the course is done through the University student evaluation. Process of Improvement: The teacher continuously tries to improve the course as described as follows: 1. The teacher frequently evaluates the student performance on homework, several computer oriented projects and the two exams and carefully examines the suggestions made by students during the semester. Then the teacher takes proper steps (such as adjusting the pace of coverage) to correct problems (if any). 2. The teacher uses the assessment of the homework, computer projects and exams to determine the achievement level of the course objectives and take proper actions to improve the course. 3. At the end of every semester, the teacher meets with the chairman to discuss improvement plan for the course based on the Student Course Evaluation organized by the University. Preparing Person: Dr. Phillip Regalia, Professor DATE: August 2010