CSCI 380 Spring 2008, Syllabus

Course webpage:http://www.cs.xu.edu/csci380/08s/
Time:TR: 1:00 - 2:15 pm
Location:Alter 207
Instructor:Gary Lewandowski
Phone:513-745-2836
Office:Hinkle 109
email:lewandow@cs.xu.edu
Office hours:MTR: 4:00-5:00, W: 4-4:30.
Also by appointment, see my schedule at http://www.cs.xu.edu/~lewandow/schedule08s.html
Textbook:None!
GradingAssessment will be based on three tools: Homeworks/mini-projects (50%), final project (25%), and exams (25%).
The Mathematics and Computer Science Department has a uniform Grading Standard. You should also read my statements on academic integrity and plus/minus modifiers for insight into my grading philosophy.
Late Policy Being late sucks. Don't do it or I won't be able to give you points.

Course Objectives

Informally this course is about new, cool technologies that are roaming out in the world that we may not get to learn about in other courses. However, it turns out that to really understand them, we'll see some pretty standard computer science topics (we'll also have to get up to speed on some things are not quite cs but are applied uses of it).

My conception of the course revolves around the notion of the world as a networked place and in that sense those of you who have had networking will see some review as we get started. In this networked world, Google currently has ascended to the top of the heap and as a result a good portion of what we may look at connects to them. In general, we want to think about what it means to have resources connected on a network and how this can positively or negatively impact things we want to do.

So, roughly here are some objectives:

  1. Students will understand the notions of client/server applications and will be able to write them in at least two different contexts.
  2. Students will grasp lower level notions of sockets and processes and will be able to deal with them.
  3. Students will grok parallel programming in at least two styles and will be able to discuss solutions to problems in terms of these styles.
  4. Students will gain skills installing some server components including operating systems and software.
  5. Students will be able to develop (possibly in small teams) a final project using ideas in the course or exploring related concepts in a new context.

Cooperating with others

Cooperation good. Plagiarism bad. Know the difference. Some things in the course will be team based, others will depend on you alone.







Tentative Schedule

VERY Rough because some of the control is going to be handed over to you.
DayTopic
1: 15 JanuaryOverview, survey, some background
2: 17 JanuaryHTML, CSS
3-4: 22-24 JanuaryTeamwork on javascript, AJAX, maybe SQL
5: 29 JanuaryShow off what you learned? Threads.
6: 31 Januarysockets and lower-level fun
7: 5 FebruaryParallel Programming I
8: 7 FebruaryParallel Programming II
9: 12 FebruaryHadoop I
14 FebruaryWinter Break (Requirements due before you leave)
10: 19 FebruaryHadoop II
11-13: 21-28 FebruaryMap Reduce
14-20: 4,6,11, 13, 25, 27 MarchClustering Stuff
21-28: 1 April - 1 MaySuper Fun
8 MayFinal Exam: 10:30-12:20 pm!!
8 MayPICNIC!! afternoon -> dark

Gary Lewandowski
Last modified: Tue Jan 15 12:53:10 EST 2008