CS 599:  New Perspective/Directions for Computing

Fall 2007

Course Information and Syllabus

Version 24 of 11/1/2007

 

Course Schedule: TTh 9:30-10:50

Web Site: http://www-rcf.usc.edu/~rosenblo/Fall-07-CS599-Syllabus-PR.htm

Status of Student Presentation Signup Sheet: http://www-rcf.usc.edu/~rosenblo/Student-Presentation-Signup-Sheet.htm (send me email to add or change an assignment)

Instructor: Prof. Paul Rosenbloom

            Office: SAL 238

            Email: Rosenbloom@usc.edu

            Phone: (213) 740-4780

            Office Hours: TTh 11:00-12:15

 

Course Overview:

 

A new interdisciplinary perspective on computing has been developed that reaggregates computer science and engineering and then repartitions this combination into analysis and synthesis components covering, respectively, the more academic and systems-oriented aspects of the field.  The analysis component focuses on the nature of computing and on the relationships among its parts and between the field as a whole and the broader scientific enterprise; in particular, the physical, life and social sciences.  The synthesis component builds up computing as a more pragmatic systems-oriented activity via a hierarchy of interrelated layers – platforms, networks, grids, environments, interfaces and organizations – each of which itself covers an important interdisciplinary thrust, plus a pair of supporting pillars covering development and deployment.

 

In this class we will investigate this dual perspective and use it (1) as a jumping off point for a reexamination of the structure and boundaries of computer science, and (2) as an organizational scheme for looking at computer science in the context of both other scientific disciplines and large-scale application domains.  In the process we will visit a number of directions at the forefront, or in the future, of computing – such as the coupling of computing with the physical world (in ubiquitous computing, things that think, automated fabrication/construction, smart environments, sensor networks, etc.), virtualization/modeling/simulation (of biological/social/physical systems and their combinations), informatics/cyberinfrastructure (for science/engineering, bio/chemical/medical, emergency response, etc.) and new substrates for computing (quantum, biological, nano, etc.) – and look at some of the challenges facing computing and its various layers.

 

The overall goal for this course is for students to get a better understanding of the parts of computing, and computing as a whole, in context and with an eye on the future; and for them to be able ultimately utilize this understanding in framing and guiding their own work, whether it be in research or applications.  In furtherance of this goal, each class session will be divided into half presentation and half discussion.  It is expected that students will have read the assigned readings prior to each class session and will be active contributors to the discussions.

 

Planned topics on a weekly basis, with sample readings:

 

  1. Introduction and An Interdisciplinary Analysis: Structure of computing and relationships to other great scientific domains (Slides: http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-1.pdf)

a.     Rosenbloom, P. S. (2004).  A new framework for Computer Science and Engineering, IEEE Computer, 37, 31-36. (http://www-rcf.usc.edu/~rosenblo/r1rosen2.lo.pdf)

  1. Implementation (C/*): Computing implemented by other domains (Slides: http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-2.pdf; http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-2-DS.pdf)
    1. Wikipedia articles on the analytical engine (http://en.wikipedia.org/wiki/Analytic_engine) and quantum (http://en.wikipedia.org/wiki/Quantum_computing), DNA (http://en.wikipedia.org/wiki/Dna_computer), optical (http://en.wikipedia.org/wiki/Optical_computer) and chemical computers (http://en.wikipedia.org/wiki/Chemical_computer).
    2. Fenner, S. A. (2003).  A physics-free introduction to the quantum computation model, Computational Complexity Column, Bulletin of the EATCS, 79, 69-85. (http://arxiv.org/pdf/cs.CC/0304008)
    3. Adleman, L. M. (1998).  Computing with DNA, Scientific American, 279, 54-61. (http://www.cs.virginia.edu/~robins/Computing_with_DNA.pdf)
    4. Reif, J. H. (2002).  The emerging discipline of biomolecular computation in the US, New Generation Computing, 20, 217-236. (http://www.cs.duke.edu/~reif/paper/NGCsurvey/NGCsurvey.pub.pdf)
  2. Implementation (*/C): Computing implementing/simulating other domains (Slides: http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-3.pdf; http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-3-SS.pdf)
    1. Wikipedia article on computer simulation (http://en.wikipedia.org/wiki/Computer_simulation)
    2. Hartmann, S. (2005), The world as a process: Simulations in the natural and social sciences. (http://philsci-archive.pitt.edu/archive/00002412/01/Simulations.pdf)
    3. Fredkin, E. (2005).  A computing architecture for physics, Proceedings of the 2nd Conference on Computing Frontiers, 273-279. (http://portal.acm.org/citation.cfm?id=1062307&coll=GUIDE&dl=GUIDE&CFID=24314532&CFTOKEN=33153324)
    4. Finkelstein, A. et al. (2004).  Computational challenges of systems biology, IEEE Computer, 37, 26-33. (http://www.cs.ucl.ac.uk/staff/A.Finkelstein/papers/cchallcomputer.pdf)
    5. Tambe, M., et al. (1995, Spring). Intelligent agents for interactive simulation environments. AI Magazine, 16, 15-39. (http://www.agent.ai/doc/upload/200310/tamb95_1.pdf)
  3. Interaction (C¥*, *¥C): Computing in peer relationships with other domains (Slides: http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-4.pdf; http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-4-AK.pdf)
    1. Wikipedia articles on human-computer interaction (http://en.wikipedia.org/wiki/Human-computer_interaction), brain-computer interface (http://en.wikipedia.org/wiki/Brain_computer_interface), and sensors (http://en.wikipedia.org/wiki/Sensors).
    2. Lebedev, M. A. & Nicolelis, M. A. L. (2006).  Brain-machine interfaces: past, present, future. (http://www.cns.nyu.edu/events/spf/SPF_papers/LebedevNicolelis2006.pdf)
    3. Culler, D., Estrin, D. & Srivastava, M. (2004).  Overview of Sensor Networks, IEEE Computer, 37, 41-49. (http://www.archrock.com/downloads/resources/IEEE-overview-2004.pdf)
    4. Khoshnevis, B. (2002).  Automated construction by Contour Crafting – Related robotics and information technologies, Journal of Automation in Construction, 13, 5-19. (http://www.isi.edu/craft/CC/Welcome_files/resources/AIC2004-Paper.pdf)
  4. Embedding (C[*]): Other domains embedded within computing (Slides: http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-5.pdf; http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-5-DS.pdf)
    1. Wikipedia articles on hybrid computer (http://en.wikipedia.org/wiki/Hybrid_computer) and virtual reality (http://en.wikipedia.org/wiki/Virtual_reality), and article on virtual reality in future wiki (http://future.wikia.com/wiki/VR).
    2. PARC web page on reflective programming languages (http://www2.parc.com/csl/groups/sda/projects/reflection96/docs/malenfant/ref96/node2.html).
    3. Kephart, J. O. & Chess, D. M. (2003).  The vision of autonomic computing, IEEE Computer, 36, 41-50. (http://www.research.ibm.com/autonomic/research/papers/AC_Vision_Computer_Jan_2003.pdf)
    4. Brooks, F. P. (1999). What is real about virtual reality, IEEE Computer Graphics and Applications, 19, 16-27. (http://www.cs.unc.edu/~brooks/WhatsReal.pdf)
  5. Embedding (*[C]): Computing embedded within other domains (Slides: http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-6.pdf; http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-6-IK.pdf)
    1. Wikipedia articles on embedded systems (http://en.wikipedia.org/wiki/Embedded_systems) and cyborgs (http://en.wikipedia.org/wiki/Cyborg).
    2. Koopman, P. (1996).  Embedded system design issues (the rest of the story), Proceedings of the 1996 International Conference on Computer Design, VLSI in Computers and Processors, 310-319. (http://www.ece.cmu.edu/~koopman/iccd96/iccd96.html)
    3. Vahey, M. et al (2006). MONARCH: A first generation polymorphic computing processor, Annual Workshop on High Performance Embedded Computing (HPEC). (http://www.ll.mit.edu/HPEC/agendas/proc06/Day1/05_Vahey_Abstract.pdf)
    4. Berger, T.W., et al. (2001).  Brain-implantable biomimetic electronics as the next era in neural prosthetics. Proceedings of the IEEE, 89, 993-1012. (http://neural-prosthesis.com/doc/Brain%20Implantable%20Biomimetic%20Electronics%20-%20IEEE%20Jul%202001.pdf)
  6. Beyond Binary Relationships: Virtual Worlds (http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-7.pdf; http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-7-SM.pdf)
    1. Wikipedia article on virtual world (http://en.wikipedia.org/wiki/Virtual_world) and Second Life (http://en.wikipedia.org/wiki/Second_life).
    2. Macedonia, M. R. & Rosenbloom, P. S. (2001). Entertainment technology and virtual environments for training and education.  In M. Devlin, R. Larson & J. Meyerson (Eds.), The Internet and the University: 2000 Forum, 79-95. (http://www-rcf.usc.edu/~rosenblo/ffpiu0005.pdf).
    3. Swartout, W. et al (2001).  Toward the Holodeck: Integrating graphics, sound, character and story, Proceedings of Fifth International Conference on Autonomous Agents, 409-416. (http://citeseer.ist.psu.edu/cache/papers/cs/22629/http:zSzzSzwww.isi.eduzSz~rickelzSzmre-agents-2001-distribution.pdf/swartout01toward.pdf)
    4. Virtual Environment Interaction Techniques web page (http://www.cs.nps.navy.mil/people/faculty/capps/4473/projects/Interaction/full.html).
    5. Benford, S. et al. (2001).  Collaborative virtual environments, Communications of the ACM, 44, 79-85. (http://portal.acm.org/citation.cfm?id=379322&coll=portal&dl=ACM&CFID=24316901&CFTOKEN=54417624)
  7. Beyond Binary Relationships: Computational Worlds (http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-8.pdf; http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-8-2.pdf)
    1. Wikipedia article on ubiquitous computing (http://en.wikipedia.org/wiki/Ubiquitous_computing).
    2. MIT Oxygen overview (http://oxygen.csail.mit.edu/Overview.html).
    3. Satyanarayanan, M. (2001).  Pervasive computing: Vision and challenges, IEEE Personal Communications, 8, 10-17. (http://citeseer.ist.psu.edu/cache/papers/cs/29207/http:zSzzSzwww.stanford.eduzSzclasszSzcs444nzSzhandoutszSzpcs.pdf/satyanarayanan01pervasive.pdf)
    4. Garlan, D. et al. (2002).  Project Aura: Toward distraction-free pervasive computing, Pervasive Computing, 1, 22-31. (http://www.cs.cmu.edu/~aura/docdir/Aura-Perv02.pdf)
    5. Banavar, G. & Bernstein, A. (2002). Software infrastructure and design challenges for ubiquitous computing applications, Communications of the ACM, 45, 92-96. (http://portal.acm.org/citation.cfm?id=585622&dl=GUIDE&coll=GUIDE&CFID=32053856&CFTOKEN=73039303)
  8. Midterm (10/18) (http://www-rcf.usc.edu/~rosenblo/Fall-07-CS599-Midterm-Solution.htm) and a Systems-Oriented Synthesis: Computing as a hierarchy of layers and supporting pillars (http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-9.pdf)
    1. Rosenbloom, P. S. (2004).  A new framework for Computer Science and Engineering, IEEE Computer, 37, 31-36. (http://www-rcf.usc.edu/~rosenblo/r1rosen2.lo.pdf)
  9. Platforms and Networks: Hardware devices and the networks that connect them (http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-10.pdf; http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-10-AK.pdf)
    1. Johnson, F. (2006).  DARPA HPCS program, SciDAC Review (http://www.scidacreview.org/0602/html/news2.html).
    2. Scott, S. (2006). In CrayÕs ÒCascade,Ó the computer will adapt to the codes, HPCWire (http://www.hpcwire.com/hpc/614695.html).
    3. Smarr, L. L. et al. (2003).  The Optiputer, Communications of the ACM, 46, 58-67. (http://delivery.acm.org/10.1145/950000/948410/p58-smarr.pdf?key1=948410&key2=1836684811&coll=&dl=&CFID=15151515&CFTOKEN=6184618)
    4. GENI: Overview (http://www.geni.net/overview.html), challenges (http://www.geni.net/research.html), requirements (http://www.geni.net/reqs.html), snapshot (http://www.geni.net/sub_arch.html).
  10. Grids and Environments: Distributed shared resources of tools and content (http://www-rcf.usc.edu/~rosenblo/CS599-F07-Lecture-11.pdf)
    1. Foster, I., Kesselman, C. & Tuecke, S. (2001).  The anatomy of the grid: Enabling scalable virtual organizations, International Journal of High Performance Computing Applications, 15, 200-222. (http://www.globus.org/alliance/publications/papers/anatomy.pdf)
    2. Gil, Y. et al. (2004).  Artificial Intelligence and grids: Workflow planning and beyond, IEEE Intelligent Systems, 19, 26-33. (http://www.isi.edu/~gil/papers/ieee-is-04.pdf)
    3. Shahabi, C. et al. (2006).  GeoDec: Enabling geospatial decision making, International Conference on Multimedia and Expo, 93-96. (http://www.isi.edu/integration/papers/shahabi06-icme.pdf)
    4. The SCEC Community Modeling Environment—An Information Infrastructure for System-Level Earthquake Research, 1-12. (http://www.scec.org/aboutscec/documents/ITR.FINAL.pdf)
    5. Gemmell, J., Bell, G. & Lueder, R. (2006).  MyLifeBits: a personal database for everything, Communications of the ACM, 49, 88-95. (http://research.microsoft.com/~jgemmell/pubs/cacmjan2006mylifebits.pdf)
  11. Interfaces and Organizations: Use of computing by (groups of) people
    1. Myers, B. A. (1998). A brief history of human-computer interaction technology, Interactions, 5, 44-54. (http://portal.acm.org/citation.cfm?id=274436&coll=GUIDE&dl=GUIDE&CFID=24318146&CFTOKEN=65914467)
    2. Madan, A., Caneel, R. & Pentland, A. (2004).  Towards socially-intelligent wearable networks, Eighth IEEE International Symposium on Wearable Computers (ISWC 2004) Student colloquium. (http://web.media.mit.edu/~anmol/iswc-student-madan-caneel.pdf)
    3. Chalupsky, H. et al. (2002).  Electric Elves: Agent technology for supporting human organizations, AI Magazine, 23, 11-24. (http://teamcore.usc.edu/papers%5C2002%5CAImagElves.pdf)
    4. Lerman, K. (2007).  The Social Web (http://www.isi.edu/~lerman/projects/socialweb/).
  12. Development and Deployment: Creation and use of systems
    1. Wikipedia article on autonomous robots (http://en.wikipedia.org/wiki/Autonomous_Robots).
    2. Bansal, B. (2007). Intelligent optimization of parallel and distributed applications, Proceedings of the Workshop on Next Generation Software. (http://ieeexplore.ieee.org/iel5/4203121/4227918/04228218.pdf?tp=&isnumber=4227918&arnumber=4228218)
    3. Laird, J. E., Pearson, D. J., Huffman, S. B. (1996).  Knowledge-directed adaptation in multi-level agents, Journal of Intelligent Information Systems, 9, 261-275. (http://deepblue.lib.umich.edu/bitstream/2027.42/46502/1/10844_2004_Article_146932.pdf)
    4. Bishop, M. (2005). An overview of computer security (http://www.awprofessional.com/articles/article.asp?p=363728).
  13. Informatics and Cyberinfrastructure: Computing for large-scale user domains
    1. Wikipedia articles on bioinformatics (http://en.wikipedia.org/wiki/Bioinformatics), cheminformatics (http://en.wikipedia.org/wiki/Cheminformatics), biomedical informatics (http://en.wikipedia.org/wiki/Biomedical_informatics) and health informatics (http://en.wikipedia.org/wiki/Health_informatics).
    2. Atkins, D. E. et al. (2003).  Revolutionizing Science and Engineering Through Cyberinfrastructure: Report of the National Science Foundation Blue-Ribbon Advisory Panel on Cyberinfrastructure, 9-47. (http://www.nsf.gov/od/oci/reports/atkins.pdf)
    3. Luscombe, N. M., Greenbaum, D. & Gerstein, M. (2001).  What is bioinformatics? An introduction and overview, Yearbook of Medical Informatics, 83-100. (http://www.ebi.ac.uk/luscombe/docs/mim-review.pdf)
  14. Emergency Response Example and Great Principles in Computing
    1. Arens, Y. & Rosenbloom, P. (Eds.). (2002). Responding to the Unexpected: Report of the Workshop Held in New York City, February 27 – March 1, 2002. (http://www.digitalgovernment.org/archive/library/doc/arens_responding.doc)
    2. Scerri, P. et al. (2003). A prototype infrastructure for distributed robot-agent-person teams.  In Proceedings of the Second International Joint Conference on Autonomous Agents & Multiagent Systems (pp. 433-440). (http://teamcore.usc.edu/schurr/papers/AAMAS03RAP.pdf)
    3. Denning, P. J. (2003).  Great principles of computing, Communications of the ACM, 46, 15-20.  (http://portal.acm.org/citation.cfm?id=948400&coll=GUIDE&dl=GUIDE&CFID=24321891&CFTOKEN=97361228)

 

 

 

 

 

 

Grading Policy:

 

Grades will be based on: in-class participation (10%), one in-class presentation (20%), a midterm (20%), a term paper (20%), and a final (30%).  The midterm and final will be open book and notes, but must – along with the term paper – reflect just the work of the individual student, with no outside help (except for questions asked of the instructor).  The term paper will be on an interdisciplinary topic of the studentÕs choice that is relevant to the overall topic of this course, subject to the approval of the instructor.

 

Statement for Students with Disabilities:

Any student requesting academic accommodations based on a disability is required to register with Disability Services and Programs (DSP) each semester. A letter of verification for approved accommodations can be obtained from DSP. Please be sure the letter is delivered to me (or to TA) as early in the semester as possible. DSP is located in STU 301 and is open 8:30 a.m.–5:00 p.m., Monday through Friday. The phone number for DSP is (213) 740-0776.

 

Statement on Academic Integrity:

USC seeks to maintain an optimal learning environment. General principles of academic honesty include the concept of respect for the intellectual property of others, the expectation that individual work will be submitted unless otherwise allowed by an instructor, and the obligations both to protect oneÕs own academic work from misuse by others as well as to avoid using anotherÕs work as oneÕs own. All students are expected to understand and abide by these principles. Scampus, the Student Guidebook, contains the Student Conduct Code in Section 11.00, while the recommended sanctions are located in Appendix A: http://www.usc.edu/dept/publications/SCAMPUS/gov/. Students will be referred to the Office of Student Judicial Affairs and Community Standards for further review, should there be any suspicion of academic dishonesty. The Review process can be found at: http://www.usc.edu/student-affairs/SJACS/.