Harvard University Summer School 2003 Computer Science Courses


CSCI S-I Communication Protocols and Internet Architectures (31516)
Leonard Evenchik, SM, Lecturer in Extension and Director of Distance and Innovative Education, Harvard University
This course provides a structured technical approach to the design, analysis, and implementation of Internet protocols and network architectures. We will study various protocols, including TCP/IP, WWW/HTTP, LAN protocols, and client/server protocols. The course will also discuss new areas of work, including voice and video over the Internet, network QoS, and enterprise network management.
[ top ]
CSCI S-T Database Management Systems (31206)
Peter Avila, BS, Independent Systems Developer, Avila Systems
This course introduces the concepts of database design and the techniques for manipulating data structures via database management systems. Throughout the course students will work on a case study, preferably from their own backgrounds but provided for them if needed, to gain experience in mapping the information needs of an organization to a database. This will include a discussion of the different database software currently used by organizations and issues pertaining to their use such as concurrency, deadlock, recovery, distribution, security, and integrity. Students will acquire familiarity with the different database models with special emphasis on the relational model, as well as experience in using both the intuitive and normalization approaches for database modeling and design, and SQL and QBE for data manipulation. Also included is a discussion of client-server architecture and trends and future directions in database systems, including a discussion of the object-oriented model.
[ top ]
CSCI S-1 Elements of Computer Science Using Java (31441)
Henry H. Leitner, PhD, , Senior Lecturer on Computer Science and Assistant Dean of Continuing Education for Information Technology, Harvard University
David J. Malan, AB
Designed for students with little or no previous background in computing, this course introduces problem-solving methods and algorithm development using the high-level programming language Java. Students will learn how to design, code, debug, and document programs using techniques of good programming style in both mainframe and microcomputer environments. Related topics include the basic aspects of recursion, parameter passing, file I/O, classes and objects, arrays, and functional decomposition to enable top-down design. Certain applications will be chosen for their relevance to more advanced coursework in computer science, while others will involve nonscientific and business-related areas. Some attention will be given to the theoretical and practical limitations of automatic computation.
[ top ]
CSCI S-H Fundamentals of Website Development (31515)
Robert Irie, PhD, Research Engineer, Space and Naval Warfare Systems Command Center
This course will provide a foundation in several facets of establishing and maintaining a website. The first part of the course will cover the front-end aspects of web development: creating, designing, and publishing content on the web (HTML, CSS, Javascript). The second part of the course will cover the back-end aspects: installing a web server, using a content management system to organize and produce static and dynamic content (CGI, cookies, server-side scripting), and accessing a database for common website tasks (forms, user registration, shopping carts). This course will be significantly hands-on, and a major component will be a final project involving implementing a working website.
[ top ]
CSCI S-111 Intensive Introduction to Computer Science Using Java (30035)
Henry H. Leitner, PhD, , Senior Lecturer on Computer Science and Assistant Dean of Continuing Education for Information Technology, Harvard University
David G. Sullivan, MS, Doctoral Candidate in Computer Science, Harvard University
Intended as a fast-paced first course in computer science for students who plan to take more advanced courses in the field or to work extensively with computers. Covers fundamental data structures (arrays, files, stacks, queues, linked lists, trees, graphs), control structures (including recursion), algorithms (sorting, searching, pattern matching), and their implementation in both UNIX and PC-based environments using the programming language Java. Key notions of object-oriented programming (OOP), including encapsulation, inheritance, and abstract data types, will be emphasized. Problem sets will require a minimum of 20 hours of programming each week. Graduate-credit students will be expected to learn to write some additional applications using the abstract windowing toolkit (AWT) and Swing. This course provides complete coverage of the syllabus for the Advanced Placement examination in computer science.
[ top ]
CSCI S-A Internet and Integrated Productivity Software (30030)
Stephan Kolitz, PhD, Principal Member of the Technical Staff, Information Technology Directorate, The Charles Stark Draper Laboratory
This course provides a solid foundation in end-user productivity software for word processing, spreadsheet analysis and modeling, charting, database management, presentations, and appropriate applications for interacting with the Internet. Students learn the conceptual basis of each of these tools, how they are used for today's organizational management, the limitations of current technology, and possible future developments. The emphasis is on using software in an integrated manner to organize, analyze, and communicate information. Students should expect to spend 12 or more hours each week working on assignments in the microcomputer lab. The course demands a high level of commitment to keeping up with class assignments and to learning the use of the software tools.
[ top ]
CSCI S-K Introduction to Creative New Media and the World Wide Web (31439)
Jennifer Fuchel, MFA, Assistant Professor of Graphic Design, School for the Arts, Suffolk University
Nita Sturiale, MFA, Assistant Professor, Studio for Interrelated Media, Massachusetts College of Art
This introductory course is an intensive immersion into New Media production for beginning and intermediate students. The current state of "New Media" is the digital convergence of print, broadcast, audio, image, film, and the Internet. The course consists of lectures, demonstrations, visiting speakers, and computer lab experience. Particular attention is placed on balancing technical skills with individual content and experimental approaches. We will explore the evolution as well as the societal and cultural context of New Media and the Web. Along with weekly assignments, students will propose, design, and produce a web-based, multimedia final project using the tools of the industry. Core software includes Adobe PhotoShop, Macromedia Dreamweaver, and Flash. The course will also introduce digital video applications, QuickTimeVR, sound editing, and frontline developments in web applications.
[ top ]
CSCI S-L Web Development Using XML (31683)
David P. Heitmeyer, AM, Manager of Web and Applications Development, Faculty of Arts and Sciences Computer Services, Harvard University
This course will focus on using XML technologies in website development. The first part of the course will cover fundamental XML technologies (XML, XPath, XSL, XSLT, XSLFO, XML Schemas, DTDs, and DOM) and open-source web-based XML publishing frameworks (Cocoon, AxKit). The second part of the course will cove specific markup languages (applications of XML) relevant to website development (XHTML, SVG, RDF, RSS, DocBook, and WML), with an emphasis on developing dynamic, data-driven sites that deliver content in a variety of media types (HTML, text, PDF, graphics) to a variety of devices (desktop and handheld computers, WAP-enabled cellular phones) and audiences. In addition, XML-based web services will be surveyed.
[ top ]