12.07.2015 Views

ECS 30 Syllabus - CS-CSIF

ECS 30 Syllabus - CS-CSIF

ECS 30 Syllabus - CS-CSIF

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>E<strong>CS</strong></strong> <strong>30</strong>-A Introduction to Programming and Problem Solving <strong>Syllabus</strong> Fall 2013Name Title E-mail Office Office HoursSean Davis Lecturer ssdavis@ucdavis.edu <strong>30</strong>52 Kemper MWF 8-8:50, 1-2; W 3:15-5; and byappointment.Fan, Jing TA jnfan@ucdavis.edu 53 Kemper T 2-9, W 9 -1Wang, Keith TA kcwang@ucdavis.edu 53 Kemper M 7 - midnightXin, Zhige TA zxin@ucdavis.edu NoneYang, Hyorim TA hryang@ucdavis.edu NoneZhao, Bolun TA blzhao@ucdavis.edu NoneCourse Website: http://csiflabs.cs.ucdavis.edu/~ssdavis/<strong>30</strong>/homepage.htmlNewsgroups: We will be using piazza.com for our newsgroup: piazza.com/ucdavis/fall2013/ecs<strong>30</strong>aE-mail to Sean should only be regarding personal matters, and must come from an ucdavis.edu e-mail account. All coursequestions should be posted to the piazza newsgroup.Reading Materials:Required: Hanly, Jeri R., and Koffman, Elliot B, Problem Solving and Program Design in C, 7 th ed., Addison Wesley,2013Prerequisite: Prior experience with basic programming concepts (variables, loops, conditional statements).Course objectives:1. Learn how to use UNIX tools, including vi, make, and gdb, to develop and debug programs.2. Understand the process of writing efficient, robust programs to solve problems.3. Learn the C programming language including: simple data types, operators, flow control, functions, data structures,pointers, input/output, and run-time storage allocation.Approximate Course Grading:Homework 8%Programs 32%Two midterms <strong>30</strong>%Final <strong>30</strong>%Class effort/participation 5% (extra credit)Letter grades will be approximately: A = 90+%; B = 80-89%; C = 70-79%; D = 60-69%; F =


Discussion Sections: You may attend any discussion as long as there is seating for those actually registered for that time.There will not be discussion sections until Monday, September <strong>30</strong> th . Instead each student must complete the UNIX and vitutorials by Friday, October 4th.Day Time RoomM 3:10 - 4:00 118 OlsonT 8:00 – 8:50 146 OlsonW 3:10 – 4:00 118 OlsonF 4:10 – 5:00 106 OlsonTutorials: Each student must complete two tutorials; one in the first week to introduce you to the UNIX environment andthe vi text editor, and one the week of November 5 th to cover the UNIX debugger, gdb. You may complete them at homeusing ssh, or in the Kemper basement labs. We have reserved 67 and 75 Kemper 6-9pm on Monday, 9/<strong>30</strong>, Tuesday 10/1,Wednesday 10/2, and Thursday 10/3 for assistance with the UNIX and vi tutorials. The tutorials must be doneindividually. A TA will be in each room at those times. You will use the handin facility, which is explained in the UNIXtutorial, to submit your files. The UNIX and vi tutorials are due by 11:59pm on Friday October 4 th . The times and roomsfor the gdb tutorial will be announced later.Tentative ScheduleDate Lecture Topics Book Reading9/27 Course introduction, UNIX commands None9/<strong>30</strong> vi, C language elements, gcc, variables. 2.1 – 2.410/2 Style, input, output, formatting, arithmetic expressions. 2.5 – 2.610/4 UNIX indirection, data types. 2.4-2.710/7 Top-down design and library functions 3.1-3.3, pp. 4<strong>30</strong>-43110/9 User defined functions and how parameters work. 3.4-3.610/11 Control structures, flow charts, conditions, if statements 4.1-4.410/14 Algorithm decisions, nested if statements, if-else, switch4.5-4.9statements10/16 Repetition, while loops, for loops. 5.1-5.410/18 Loop design, nested loops 5.5-5.1110/21 Files, moldular programming, scalar pointers 610/23 Arrays, searching arrays 7.1-7.610/25 Midterm #1: UNIX, I/O, formatting, functions, branching, Nonelooping.10/28 Sorting arrays, multi-dimensional arrays 7.7 -7.910/<strong>30</strong> Pointers and dynamic memory allocation 13.1-13.2, App. A11/1 Pointers cont’d, gdb. Handout11/4 Strings, arrays of pointers 8.1-8.511/6 Command line arguments, character operations 8.6-8.9, 12.711/8 Parsing, large programs, make 12.1-12.511/13 Structures 10.1-10.511/15 Midterm #2: Topics of Midterm #1 plus arrays, pointers, strings None11/18 Structures cont’d 10.711/20 Files 1111/22 Preprocessor directives 12.6-12.911/25 Recursion 9.1-9.311/27 Recursion cont’d 9.4-9.712/2 TBA None12/4 History of computer hardware 1.1-1.212/6 History of computer software, and review 1.3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!