ECS 145, Winter 2018
Course Structure and Requirements

Norm Matloff, matloff@cs.ucdavis.edu

I TEACH DIFFERENTLY FROM OTHERS:

Coverage:

We will focus on the Python and R languages, spending about 5 weeks on each. (R will be viewed as a programming language, object-oriented and functional programming-based, with interesting metaprogramming features; this is NOT a course for those interested in learning about R's statistical features.)

This is NOT a "Where do you put the semicolon?" class. (No class should be like that, including ECS 30 and 40.) Instead, the issues are the goals of the language, the strengths and shortcomings, external enhancement (e.g. interfacing to C/C++), performance issues, etc.

Necessary background:

Textbooks:

Free download from Web -- Python notes, R notes (latter is early, 50% draft of published book).

You are REQUIRED to have hard copies of these documents -- actual paper, not electronic (best to go to a copying store). Please print them BEFORE classes start. Quizzes are open-book/open-notes.

Workload:

Required textbook reading(!); weekly Quizzes (including group Quiz on the last day of lecture); about four programming assignments; final written project. (No midterms, no final exam.) Programming assignments, last-day Quiz, and final project are done in groups; group coordination process adds to the workload.

Programming Assisgnments (Homework):

Lecture/Learning Format