CS-698 (or CS-590): On Designing Entry-Level CS
Programming Course using Map & Location-based Operations (3Cr. Hrs.)
Instructor: Walid G. Aref
Location and Time: Wednesdays 3PM – 4:15PM (For this week only August 31, 2011, we will meet 3:30-4:20 in LWSN 2150).
The purpose of this course is to train students in spatiotemporal data management research. Students will learn the basic and advanced techniques in spatial and spatiotemporal data management through several interesting projects. The main class project is to design an introductory-level (CS-I) programming course based on spatiotemporal data management techniques, e.g., using 2D and 3D map and moving objects’ operations. More details on the CS Programming-I course below. In the case, we will cover some of the fundamental papers in spatial and spatiotemporal data management as well as the useful tools that facilitate spatial and spatiotemporal data systems research, e.g., data generators, benchmarks, open source systems, extensible indexing architectures, etc.
This course may count as one of the two CS-698 research courses a Ph.D. student can take in his/her first three semesters or as a CS5900 independent study course. The class will meet once a week on Wednesdays. During class, each student is expected to give around two to three presentations over the span of the semester. In addition to the CS Programming-1 course project, which each student is expected to participate in, each student or possibly a group project of teams of one-three students each will have to select a semester-long project. Each student (or each group) will be expected to meet with Walid on individual basis once a week to follow up on the project’s progress. During class, group discussions will evolve around the CS Programming-I Project following some students’ presentations.
CS Programming-I Project:
This should be a fun project with lots of brainstorming and design activities. The purpose of this seminar course is to design an introductory programming course in computer science to address low retention of computer science freshman year and their diminished interested in science. The target is to go beyond the classical “Hello World" programming examples that have shown their limits. The goal of this course is to design the CS Programming I course around 2D and 3D map operations (e.g., using 3D Earth and 2D Map APIs) to increase the interest of students in programming, both in CS and in Science.
According to CRA reports, the interest among undergraduate students in majoring in Computer Science has decreased significantly. Universities nationwide have been experiencing a noticeable decline in freshman registration in CS for the past years. For example, the number of new CS majors in Fall 2007 was half of what it was in Fall 2000 (15,958 versus 7,915). Several colleges attribute this decline to the increase in computer literacy among incoming students and the boring nature of the freshman Programming I courses. A first program that prints “Hello World!" on the screen is not thrilling anymore to students playing computer games with high-quality graphics since KG. To add excitement, several colleges have redesigned their freshman Programming I courses to use toy devices, e.g., Robots. The target would be to program the robot to perform certain tasks while learning various programming concepts in the process. Although interesting to some students, using robots has several disadvantages. High setup cost in obtaining and maintaining the robots is one set back. Another disadvantage is the frustration that many students have when dealing with hardware as well as software debugging issues simultaneously. The goal of this course is design a CS Programming-I course that uses 2D and 3D maps (e.g., Google Earth and Google Maps) as the “toy" through which freshman CS students learn programming concepts. Besides the low setup cost, learning using 2D and 3D maps adds the excitement needed by introducing high-quality graphics and high interactivity by relating the programming tasks to maps or photos of locations that the students can relate to. Wrapper APIs will be developed to simplify the setup and interaction with the map software. The new CS Programming-I course will be developed along the same lines of the first CS Programming-1 course at Purdue (CS-180).
Tentative Class Topics
- Dissection of Purdue’s CS-177 & CS-180 courses and their exercises
- Study of 2D and 3D Map APIs (e.g., Google’s and Microsoft products, among others)
- Study of spatial and spatiotemporal data operations
o What are the basic, minimal, and complete sets of operations?
- Study of Map and GIS (Geographic Information Systems) operations
- Classic multi-dimensional (spatial) and spatiotemporal data indexing techniques
- Spatial and spatiotemporal query processing algorithms
-
Spatial and spatiotemporal query
optimization
- Spatial and spatiotemporal data management systems
- Spatiotemporal data streaming systems
- Study of publicly available spatial and spatiotemporal data sets
- Synthetic spatiotemporal data generators
- Benchmarking spatial and spatiotemporal data systems