Syndicate content

Printer-friendly version

Send to friend

SI 502 - Networked Computing: Storage, Communication, and Processing

7,674

views

1,881

zip downloads

2,795

YouTube views

SI 502 landing page image

Image adapted from waffler under a Creative Commons license: BY.

Term: Winter 2009
Published: January 21, 2009
Revised: June 22, 2010

To appreciate the opportunities and make wise choices about the use of technology, information professionals need to understand the architectures of modern information systems. In alternative system architectures, storage, communication, and processing substitute for and complement each other in different ways. This course introduces students, at several different levels of abstraction, to sets of functional components and alternative ways of combining those components to form systems. It also introduces a set of desirable system properties and a core set of techniques that are useful in building systems that have those properties.

Instructor: Charles Severance

dScribe: Dave Malicke

Course Level: Graduate

Course Structure: Three hour class - once a week

Syllabus
Document Title Creator Download License
Syllabus Charles Severance Attribution

Course Description 

This course is a survey course covering a broad range of technology topics at a high level. The course is aimed at students with no prior technical skills other than the general use of a computer. Really! When you look at the topics ‐ they may seem daunting ‐ but the entire design of the course is focused on student mastery of the topics. We want you to succeed in the course and then use the knowledge you learn to do many wonderful things in the rest of your academic and professional career.  

Required Books  

Most of the course material will be from online sources and materials produced for the course. There is one book that covers the programming aspects of the course.

Python Programming: An Introduction to Computer Science

Author: John Zelle

ISBN 1‐887902‐99‐6

Web Site: http://www.fbeedle.com/99‐6.html

Some of the course material will come from my upcoming O’Reilly book on the Google AppEngine. We will only use two chapters of this book. The entire book is available at http://www.appenginelearn.com/ ‐ comments and suggestions are very welcome as the book is currently in technical review for a late spring publish date.

Final Exam  

The official University exam time for this course is: Thursday April 23, 2009 1:30 – 3:30PM

The exam for this course will be online and you will be able to take it anytime on April 23 or April 24. Once you start the exam – you have three hours to finish the exam. You will need a computer and access to the Internet to complete the final exam.  

Course Outline

The course moves rather quickly through a lot of material. The first few week focus on programming and work from the textbook – the later weeks will use materials that are provided and available from the world‐wide web.

WEEK

DATE

TOPIC

REQUIRED READING

1

January 7

Programming And Computers

Zelle 1

2

January 12

Programming And Computers

Zelle 1

3

January 19

Simple Programs

Zelle 2 &4,AE 3

4

January 26

Decisions and Loops

Zelle 7 & 8, AE 3

5

February 2

Collections and Types

Zelle 11 & 3, AE 3

6

February 9

Practical Midterm Exam in Lecture

 

7

February 16

Internet Technologies

Internet History

Internet Structure

 

8

February 23

Spring Break

 

9

March 2

Internet Technologies

Internet Applications

HTTP Protocol

AE 4

10

March 9

Understanding the Web

HTML and CSS

AE 2

11

March 16

Understanding the Web

Sessions and Cookies

Scraping the Web

AE 2

12

March 23

Web Services and Data Formats

 

13

March 30

Searching and Organizing the Web

 

14

April 6

Databases

 

15

April 13

Security and Cryptography

 

Note: Schedule and topics may be changed as the semester progresses. 

Exams   

The written midterm will be given in your discussion section and the practical midterm will consist of a programming exercise and be given during the lecture period.  There will also be an online final exam.   

Assignments   

There will be weekly assignments throughout the course. Regular assignments allow you to learn the material in small "chunks" and to keep a close eye on how well you understand the material.   Assignments will be a focus of the discussion sections.  Where possible, assignments will be distributed the week before so you can work on the assignments and possibly even complete the assignment before you come to the discussion section.   

Every assignment will have a due date.  Assignments may be turned in up to one day late with a 30% reduction in points.  Assignments turned in more than a day late will receive zero points.   

Grading   

The graded work in the course will be weighted roughly as follows to determine a final percentage grade:    

Homework:    40%

Exams:      50%

Class participation & Staff discretion:   10%

Grades will be awarded as follows:   

A+             97%  ← You have to work really hard to get this 

A               92% 

A‐              87% 

B+             82% 

B               77% 

B‐              72% 

C+             67% 

C               62% 

C‐              57% 

D               52%  ← You also have to work really hard to get this

F                47%  ← Or this

Course Web Site

The course will be administered via CTools.  When you log in to CTools you should see two tabs for the course. One tab is titled “SI 502.” This is where much of the course interaction will take place. You will see a second tab for your discussion section “SI 502 F08 Daniel” – with your discussion section instructor is named in the course site. This is where assignments and online‐exams will be distributed and graded.  You should see both tabs; if you do not see both tabs (after looking in the "more sites" drop‐down) be sure to contact the instructor to ensure that you are properly enrolled in the course.

In the SI 502 main web site there will be people other than the members of the class – these people include former students or students auditing the course.

There is also a public web site for the course www.si502.com ‐ it provides the course materials to a wider audience – including folks searching the web through Google.   

Open Educational Resources

This course is participating in an effort to make University of Michigan course material open to any user of the web as part of the Open Michigan effort at https://open.umich.edu/.     

A key effort to take the course materials and make them available as part of a long‐term repository is to insure proper copyright of the materials – this course will likely have a Digital Scribe (dScribe) monitoring course materials as they are produced and preparing the course materials for long‐term archival.

You can learn more about this through:   

https://open.umich.edu/projects/oer.php#dscribe.

If you are interested in this activity or have any questions about Open Educational Resources, send email to dscribe.info@umich.edu.

Learning Objectives

The purpose of this course is to provide incoming SI Students with an understanding of the kinds of   technology that students will encounter during their time as an SI student as well as in their   employment once they graduate from SI.  The course covers a wide range of topics, spending 1‐2 weeks on each topic and then moving on.      

The Learning Objectives for SI502 are to give the student solid competency in:

  • Computer Architecture   
  • Software Development   
  • Internet Technologies   
  • Web Technologies   
  • Service Oriented Architecture   
  • Database Modeling   
  • Web Search Technology   
  • Security of Information Systems      

After completing SI502 successfully, the student should be

(a)   Comfortable in courses with a technical   focus,

(b)   Able to participate as a team member in the analysis, design, development, and deployment of software and technology for an organization, and

(c)    Be able to act as a facilitator between technical and non‐technical staff within an organization or project.

Course Mailing List        

Much of the communication for the course will be done via email. Students are expected to read the email that comes to them from the course. The mailing list is also a place to get help in the class. It is completely acceptable for a student in the course to attempt to help another student over the mailing list. The Instructor will read all mail and correct any incorrect advice that one student gives another.  All students have permission to post to the class‐wide mailing list.  There will also be mailing lists for each of the discussion section instructors to communicate with their discussion sections.      

Required Tools     

The software used for the course is 100% free software.  All necessary software will be available for both   the PC and Macintosh.      

Optional Tools      

It is highly recommended that every participant in the course own and bring a laptop to each discussion session. This is not a requirement, and all of the work in the course can be completed on a desktop computer or on lab computers available to SI students. However, you will find parts of the course more valuable if you can play with code examples as we demonstrate them during the discussion section. A laptop will also make it easier for you to work on your assignments in your spare time.      

For backup purposes I suggest you buy a flash drive with at least 2GB of storage space. This will also   allow you to store applications you use in case you are without a laptop and available computers do have what you need installed.      

While the instructor likes his Macintosh laptop very much, you can do the course on either a PC (XP or   Vista) or a Macintosh. Where there are significant differences when completing an assignment on the two systems, examples and documentation will be provided for both systems.      

Giving and Receiving Assistance      

The first time you learn technical material it is often challenging. We are going to cover a wide range of   topics in the course and we will move quickly between topics. Because it is my goal for you to succeed in the course, I encourage you to get help from anyone you like, especially in the portion of the course before the midterm and even for the completion of assignments.      

However, you are responsible for learning the material, and you should make sure that all of the   assistance you are getting is focused on gaining knowledge, not just on getting through the assignments. If you receive too much help and/or fail to master the material, you will crash and burn at the midterm when all of a sudden you must perform on your own.      

If you receive assistance on an assignment, please indicate the nature and the amount of assistance you   received. If the assignment is computer code, add a comment indicating who helped you and how. If you are a more advanced student and are willing to help other students, please feel free to do so. Just remember that your goal is to help teach the material to the student receiving the help. It is always appropriate to ask for and provide help on an assignment via the course‐wide mailing list.      

It is never appropriate to hand in someone else’s work and represent it as your own.  The safest  approach is to clearly acknowledge the sources and nature where someone has helped you create your work in a significant way.      

Plagiarism     

At the University of Michigan and in professional settings generally, plagiarism is an extremely serious matter. All individual written submissions must be your own, original work, written entirely in your own words. You may incorporate excerpts from publications by other authors, but they must be clearly marked as quotations and properly attributed. You may obtain copyediting assistance, and you may discuss your ideas with others, but all substantive writing and ideas must be your own or else be explicitly attributed to another, using a citation sufficiently detailed for someone else to easily locate your source.      

All cases of plagiarism will be officially reported and dealt with according to Rackham policies. There will be no warnings, no second chances, no opportunity to rewrite; all plagiarism cases will be immediately reported to SI's Dean of Academic Affairs. Consequences can range from failing the assignment (a grade of zero) or failing the course to expulsion from the University. For additional information about plagiarism, see the "Academic and Professional Integrity Policy Statement" in the SI Master's Student Handbook, the Rackham pamphlet on Academic Integrity, and the Plagiarism document from the UM Libraries. If you have any doubts about whether you are using the words or ideas of others appropriately, please discuss them with the instructional staff of the course.      

Classroom Rules      

We are all here to learn. I like a relaxed classroom where everyone feels comfortable. You are welcome   to bring drinks or snacks to class (assuming it is allowed in the room we are in). You can (and should) bring your laptop to class. You can check email or FaceBook or whatever as long as your keyboard clicks are not distracting. I would rather have you come to class and listen with one ear than not come to class at all. As a courtesy to others, be sure to put your PDA and cell phone on silence/vibrate. Coming late to and/or leaving early from class is fine as long as you don't disturb your classmates. I sometimes forget to schedule a break during a long lecture, so feel free to suggest a break if it appears that I have forgotten to do so. Ask questions at any time, and if you have some expertise in a particular topic, feel free to raise you hand and share it with the class. I will not be offended and in fact am here to learn just like you are.  Sleeping in class is OK too, but I will do my best to keep you awake for the whole class period. Our primary purpose in the classroom is to interact and learn from each other.      

Success in the Course      

This is a fast‐paced course and it covers a lot of interesting topics. The course is designed for students with no prior HTML or programming experience. If you stick with the course and invest the necessary time, you will be amazed at how much you will learn in 15 weeks.       

If you do not have any programming experience, some concepts will take some time to sink in. Do not worry too much if you feel like you are in a fog at times. The assignments are the best way to track your progress through the material.      

Usually the biggest problem students encounter in the course is trying to do everything in a few hours right before an assignment is due or right before an exam. If you only think about the course a few hours each week, you will get some of the details but they will not mesh together to provide the big picture. Programming and web sites are easy once you get the big picture. The textbooks will become easily scanned references for you once you know what to look for and why you are looking for it.      

Cramming does not work very when dealing with the material in this course. This is because the material in the course is actually very easy once you "get it" – once you understand some basic principles. No amount of memorization will make up for not having the big picture. Try not to get stuck on any one thing – it is all easy once you "get it." If you do get stuck on something and feel like you are going in circles, ask for help, look at something else, or come at the problem from a different direction.      

Learning Objectives

The purpose of this course is to provide incoming SI Students with an understanding of the kinds of technology that students will encounter during their time as an SI student as well as in their employment once they graduate from SI. The course covers a wide range of topics, spending 1‐2 weeks on each topic and then moving on.

The Learning Objectives for SI502 are to give the student solid competency in:

  • Computer Architecture
  • Software Development
  • Internet Technologies
  • Web Technologies
  • Service Oriented Architecture
  • Database Modeling
  • Web Search Technology
  • Security of Information Systems

After completing SI502 successfully, the student should be

  1. Comfortable in courses with a technical focus,
  2. Able to participate as a team member in the analysis, design, development, and deployment of software and technology for an organization, and
  3. Be able to act as a facilitator between technical and non‐technical staff within an organization or project.

About The Instructor

Charles Severance

Charles is currently a Clinical Assistant Professor and teaches in the School of Information at the University of Michigan. Charles also works with the IMS Global Learning Consortium as the IMS Affiliate Coordinator. Previously he was the Executive Director of the Sakai Foundation and the Chief Architect of the Sakai Project.

Charles is the author of the book, "Using Google App Engine" from O'Reilly and Associates. He also wrote the O'Reilly book on High Performance Computing. Charles has a background in standards including serving as the vice-chair for the IEEE Posix P1003 standards effort and edited the Standards Column in IEEE Computer Magazine from 1995-1999.

Charles is active in television and radio as a hobby, he has co-hosted several television shows including "Nothin but Net" produced by MediaOne and a nationally televised program about the Internet called "Internet:TCI". Charles appeared for over 10 years as an expert on Internet and Technology as a co-host of a live call-in radio program on the local Public Radio affiliate (www.wkar.org).

Chuck's hobbies include off-road motorcycle riding, karaoke and playing hockey.  more...

  • Ph.D. Computer Science, Michigan State University
  • M.S. Computer Science, Michigan State University
  • B.S. Computer Science, Michigan State University
Creative Commons Attribution 3.0 Unported
This Work, SI 502 - Networked Computing: Storage, Communication, and Processing, by Charles Severance is licensed under a Creative Commons Attribution license.