CAR Programming Step by Step

This is the webpage for the experiment part of the project CAR Programming Step by Step at 2012. Developer who take this project should check this page periodically for content updates and new announcements.

= Latest News = (2012-10-26) New handout Lesson 6: Component Service in CAR to be continued. (2012-10-22) New handout Lesson 5: Interface Definition Language of CAR to be continued. (2012-10-19) New handout Lesson 4: HelloWorld on Elastos is ready. (2012-10-17) New handout Lesson 3: CAR Component Structure and Compiling is ready. (2012-10-15) New handout Lesson 2: Preparing the Development Environment is ready. (2012-10-12) New handout Lesson 1: What is CAR? is ready. (2012-09-21) New handout Compiler Q&A is ready. (2012-09-19) The CAR Programming Step by Step wiki is established.
 * Lesson 6: Component Service in CAR
 * Overview
 * Quick Tutorial
 * Sample: HelloWorld Component as a Server
 * Lesson 5: Interface Definition Language of CAR
 * Overview
 * Quick Tutorial
 * Lesson 4: HelloWorld on Elastos
 * Overview
 * Quick Tutorial
 * Exercise
 * Lesson 3: CAR Component Structure and Compiling
 * Overview
 * Quick Tutorial
 * Exercise: Get a C/C++ code skeleton by compiling a *.car file
 * Lesson 2: Preparing the Development Environment
 * Overview
 * Quick Tutorial
 * Exercise: Build and Run TextViewDemo
 * Commit and Push your Working Code
 * Lesson 1: What is CAR?
 * Overview
 * Quick Tutorial

Motivations and Goals
In this part of the project, developers will be assigned the task of .....

Hope you enjoy it!

Prerequisites

 * List1
 * List2

Standard Testing Environment

 * Your code will be compiled and tested in the following environment:
 * Linux Release: Ubuntu 10.10, kernel 2.6.35-22
 * GCC: version 4.4.5
 * GNU Flex: version 2.5.35
 * GNU Bison: version 2.4.1
 * QtSPIM: version 9.1.4
 * If you are using a more recent version of these software, there shouldn't be any problems. Older version may have potential compatibility issues.

Academic Integrity

 * The significance of academic integrity can never be over-emphasized. Everyone shall, and shall be able to, complete the programming assignments individually. Acts that exceed the bounds defined by the approved collaboration practices will be considered cheating and such behaviors are strictly forbidden . Such acts include:
 * Copying solutions, code, or programs from someone else or giving someone else your solutions, code, or programs
 * Participation in a discussion group that develops a solution that everyone copies
 * We urge everyone in the class to take appropriate measures for protecting one's work. You should protect your files, codes, etc. as deemed reasonable.


 * Once plagiarism is confirmed, we could cancel the grades of BOTH the plagiarist(s) AND the author of the original copy.

= Lecture Slides =
 * Lecture0 @ 2012/2/28
 * Lecture1 @ 2012/4/10
 * Lecture2 @ 2012/5/08
 * Lecture3 @ 2012/6/05

= References =
 * Reference books
 * What is a compiler
 * The Catalog of Compiler Construction Tools
 * Compiler Construction written by Niklaus Wirth
 * Compiler courses at...
 * MIT OCW 6.035 Computer Language Engineering
 * Stanford CS143 Compilers | Stanford CS243 Program Analysis and Optimization
 * CMU 15-411 Compiler Design
 * Rice COMP412 Introduction to Compiler Construction | Rice COMP512 Advanced Compiler Construction
 * UCLA MiniJava Project | UCLA CS132 Lecture notes