Harvard Extension School 2001-02

 

This is an archive. See the current website at www.extension.harvard.edu.

Previous | Next

Courses:

Computer Science



Also see the Certificate in Applied Sciences and the ALM in Information Technology.

Courselist



CSCI E-1 Introduction to Personal Computers and the Internet
4 units. Noncredit and undergraduate credit $1,375.
The fall course meets September 14, 21, 28, and January 18, 7:35-9:35 pm in Harvard Hall, Room 104. The spring course meets February 1, 8, 15, and May 24, 7:35-9:35 pm in Science Center, Hall D. The remaining lectures will be available only on the Internet. Students must view sample online lectures before they register. See Distance Education.

Fall term (11322) (Syllabus): David Jay Malan, AB.

Spring term (21844) (Syllabus): David Jay Malan, AB.

The Internet, World Wide Web, Java, HTML, browsers, search engines, routers, firewalls, e-mail, ISPs, modems, CPUs, RAM, cache, bits, bytes—what is it all about? This course is an introduction to the computer technology and terminology enveloping us all. We will demystify personal computers and the Internet, making sense of their jargon, so that students acquire a general understanding of these concepts and are empowered for further exploration of information technologies. Four course lectures will be delivered live on campus and broadcast over the Internet; the remaining lectures will be broadcast only. All section meetings will be offered on campus and one section each week will be broadcast over the Internet. Prerequisites: basic familiarity with computers; access to the Internet.
Back to top of page.

CSCI E-5 Introduction to Applied Computer Science (21216) (Syllabus)
Kathy Ryall, PhD, Principal Technical Staff, Mitsubishi Electric Research Laboratory. Christopher R. Wren, PhD, Research Scientist, Mitsubishi Electric Research Laboratory.
4 units. Noncredit, undergraduate, and graduate credit $1,375. Limited enrollment.
Monday, Jan. 28, 5:30-7:30 pm, 53 Church Street, Room 202. Required sections to be arranged. Spring term

A case-based survey of ideas and examples of applied computer science. Cases will be taken from the fields of computer graphics, computer animation, image processing, computer vision, information retrieval, and artificial intelligence. Each case study will consist of two lectures: one an exposition of computer science concepts relevant to the case, and the other a hands-on introduction to a working system that embodies these concepts. Assignments will require the use of these systems to perform given tasks. Programming is not required, and will not be taught. Prerequisite: basic familiarity with computer use.
Back to top of page.

CSCI E-9 Learning and Teaching Through Modeling and Simulation (21825) (Syllabus)

4 units. Noncredit and graduate credit $1,375.
Optional sections to be arranged. Spring term

*** CSCI E-9 has been CANCELLED.***
This course offers a developmental perspective on learning and teaching science and social studies using technology and supporting curricular materials. Students will use technology to investigate this objective wherever possible, acquiring experiences that combine powerful tools with perspectives on the applications of these tools. Students will learn how to promote children's development in new contexts using tools that range from commercial simulations and games to modeling software. The course will draw upon a Vygotsky activity theory framework for insights regarding computer program structure. Prerequisite: facility with internet applications.
Back to top of page.

CSCI E-10 Virtual Communities on the Internet (20910) (Syllabus)
David Albert, MS.
4 units. Noncredit and graduate credit $1,375. Limited enrollment.
Monday, Jan. 28, 5:30-7:30 pm, Science Center, Room 102B. Required sections Monday, 7:35-8:35 pm. Spring term

People communicate online via e-mail, message boards, chat rooms, and virtual reality environments, without ever meeting face-to-face. In hands-on lab sessions students will join and explore these virtual communities. In lecture we will examine issues of identity, privacy, government, and the technological and sociological forces behind them. Prerequisite: general familiarity with computer use.
Back to top of page.

CSCI E-11 Creative New Media and the World Wide Web (21674) (Syllabus)
Jennifer Fuchel, MFA, Associate Professor of Graphic Design, Suffolk University. Nita Sturiale, MFA, Visiting Lecturer, Massachusetts College of Art.
4 units. Noncredit and graduate credit $1,750. Limited enrollment.
Monday, Jan. 28, 5:30-7:30 pm, 53 Church Street, Room 203. Required sections Monday, 7:35-9:35 pm. Spring term

This course introduces the current state of "New Media," the digital convergence of print, broadcast, audio, image, film, and the Internet. Particular attention is placed on balancing technical skills with individual content and experimental approaches. We will explore the evolution as well as the social 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 briefly introduce digital video applications, QuickTimeVR, sound editing, and frontline developments in web applications.
Back to top of page.

CSCI E-12 Fundamentals of Website Development
4 units. Noncredit and graduate credit $1,750.

Fall term (11247) (Syllabus): David P. Heitmeyer, AM, Web Systems Administrator, Faculty of Arts and Sciences Computer Services, Harvard University. Monday, Sept. 10, 5:30-7:30 pm, Science Center, Hall D. Optional sections to be arranged. Course also available on the Internet. See Distance Education.

Spring term (21144) (Syllabus): David P. Heitmeyer, AM, Web Systems Administrator, Faculty of Arts and Sciences Computer Services, Harvard University. Optional sections to be arranged. Course available only on the Internet. Students must view sample online lectures before they register. See Distance Education.

This course will provide a foundation in several facets of establishing and maintaining a website. The first part of the course will be devoted to creating, designing, and publishing content on the Web (XHTML, HTML, CSS, JavaScript, GIF, JPEG, PNG, PDF). The second part of the course will cover configuring and maintaining a web server, including HTTP, access control, and security. Dynamically generated websites and database-driven websites will be discussed (CGI, PHP, JSP). The family of XML technologies will be surveyed. In addition, tools and techniques for maintaining a website, such as log analysis, version control, document validation, and page and site analysis will be covered. Prerequisites: a significant portion of the work will be in a UNIX environment, so familiarity with UNIX or experience with a command-line interface will be helpful. Exposure to any programming language will be helpful.
Back to top of page.

CSCI E-13 Practical Perl
4 units. Noncredit and graduate credit $1,375.

Fall term (11973) (Syllabus): Austin S. Lin, AB, Software Engineer, Division of Continuing Education, Harvard University. Tuesday, Sept. 11, 7:35-9:35 pm, Maxwell Dworkin, Room G125. Optional sections to be arranged. Limited enrollment.

Perl is described as the "Swiss army knife" of programming languages. This course will focus on some common uses for Perl: web programming, database access, and data manipulation. Emphasis will be on writing effective and maintainable Perl in a UNIX environment. Other topics may include Apache, XML, mod_perl, HTML::Mason, and performance analysis. Prerequisites: confidence in programming (CSCI E-50b or equivalent in languages such as C, C++, or Pascal), solid understanding of HTML (CSCI E-12 or equivalent), modest experience with UNIX.

Spring term (21215) (Syllabus): Austin S. Lin, AB, Software Engineer, Division of Continuing Education, Harvard University. Tuesday, Jan. 29, 7:35-9:35 pm, Emerson Hall, Room 101. Optional sections to be arranged. Course also available on the Internet. See Distance Education.

Perl is described as the "Swiss army knife" of programming languages. This course will focus on some common uses for Perl: web programming, database access, and data manipulation. Emphasis will be on writing effective and maintainable Perl in a UNIX environment. Other topics may include Apache, XML, mod_perl, HTML::Mason, and performance analysis. Prerequisites: confidence in programming (CSCI E-50b or equivalent in languages such as C, C++, or Pascal), solid understanding of HTML (CSCI E-12 or equivalent), modest experience with UNIX.
Back to top of page.

CSCI E-14 Understanding and Developing Multimedia
4 units. Noncredit and graduate credit $1,750. Limited enrollment.

Fall term (11200) (Syllabus): Scott Traylor, BA, President, 360KID. Tuesday, Sept. 11, 5:30-7:30 pm, Science Center, Hall A. Optional sections Tuesday, 7:35-9:35 pm.

Spring term (21366) (Syllabus): Scott Traylor, BA, President, 360KID. Tuesday, Jan. 29, 5:30-7:30 pm, 53 Church Street, Room 104. Optional sections Tuesday, 7:35-9:35 pm.

Creating dynamic media that communicates effectively through the use of sound, images, motion, text, and interactivity is a process that involves skill, planning, and practice. In this course, students will examine the concepts and tools necessary for producing their own interactive multimedia projects. A number of professional authoring applications will be used to create student projects including Macromedia Flash, Director, and Shockwave; Bias Peak; and Adobe Photoshop. Many development- and user-related issues surrounding the interactive industry will be discussed, including the definition of target audience and playback conditions, defining the user experience before building, narrowband versus broadband delivery, as well as successful interface development and compression formats. Prerequisites: a solid understanding of the Macintosh and Windows operating system; some experience in any paint or draw program.
Back to top of page.

CSCI E-16 Intermediate Multimedia Design and Development (11863) (Syllabus)
Roy Pardi, MFA, Multimedia Developer.
4 units. Noncredit and graduate credit $1,750. Limited enrollment.
Thursday, Sept. 13, 5:30-7:30 pm, Science Center, Room 102B. Optional sections Thursday, 7:35-9:35 pm Fall term

The goal of this intermediate course is to build on students' prior experience in computer graphics and multimedia in order to establish a solid foundation in the essential concepts and skills necessary to develop successful multimedia projects. The course utilizes a template and modular approach to multimedia design in determining the functional requirements of a project and the steps toward implementation. Topics addressed include: project planning and analysis, programming for interactivity, and internet delivery of multimedia. Using the multimedia development tool Macromedia Director, class projects will include exercises in creating linear and multi-node presentations, simple games, and interactive animations. Prerequisite: CSCI E-14 or equivalent experience with Macromedia Director or Flash, and Adobe Photoshop.
Back to top of page.

CSCI E-17 Advanced Multimedia Development with Lingo (21489) (Syllabus)
Roy Pardi, MFA, Multimedia Developer.
4 units. Noncredit and graduate credit $1,750. Limited enrollment.
Thursday, Jan. 31, 5:30-7:30 pm, 53 Church Street, Room 106. Optional sections Thursday, 7:35-9:35 pm. Spring term

This course covers advanced topics in interactive multimedia development, approaching multimedia as a combination of computer science and media art. We will introduce Shockwave 3D, the new Macromedia Director 8.5 runtime 3-D technology. Shockwave 3D will be covered in depth, with an analysis of each of the elements of the 3-D scenegraph, the creating and controlling of the 3-D environment through Lingo, and performance optimization. Other topics to be addressed include imaging Lingo, network Lingo, and object-oriented programming in Director. Projects will explore the creative application of this Shockwave technology in developing experimental multimedia applications for desktop and internet-based playback. Prerequisites: CSCI E-16 or equivalent experience with Macromedia Director and Lingo. The course places a strong emphasis on Lingo programming. Students without Lingo programming experience or those needing a refresher should be prepared to attend the lab sections immediately following the class where remedial Lingo programming concepts and methods will be presented. For the Shockwave 3D material, emphasis will be on interactive 3-D programming rather than 3-D modeling or animation. 3-D modeling expertise is not a prerequisite.
Back to top of page.

CSCI E-18 3-D Design and Animation (21450) (Syllabus)
Peter Ivan Armstrong III, MPA, Communications Director, The Cambridge School of Weston.
4 units. Noncredit and graduate credit $1,375. Limited enrollment.
Monday, Jan. 28, 5:30-7:30 pm, 53 Church Street, Room 104. Optional sections Monday, 7:35-9:35 pm. Spring term

This course will introduce participants to the desktop technology used to produce breathtakingly realistic three-dimensional images and movies. Assignments and class exercises are designed to explore the kinds of tools and techniques media professionals use to produce film and video special effects, television commercials, animated shorts, computer games, and presentations for the World Wide Web. Prerequisites: solid experience with Adobe Pagemaker, Illustrator, and Photoshop; Microsoft PowerPoint or equivalent.
Back to top of page.

CSCI E-21 Introduction to 3-D Design, Digital Video, and Special Effects (21871) (Syllabus)
Adrian Mendoza, MArchII, Principal, Synthesis3 Design Studios.
4 units. Noncredit and graduate credit $1,750. Limited enrollment.
Wednesday, Jan. 30, 7:35-9:35 pm, 53 Church Street, Room 104. Required sections Saturday, 12 noon-2 pm. Spring term

Featuring FormZ, Maya, and FinalCut Pro, this course integrates the use of 3-D design, animation, and special effects with digital video. Topics such as storyboarding and narration, modeling of 3-D space and objects in virtual environments, and project management are covered in the first few weeks. Students will then extensively use the advanced 3-D application Maya as a tool for 3-D modeling, animation, rendering, lighting, and texture mapping. By the end of the course, students will learn how to produce digital video composites with work generated in Maya. The topics covered in this course have direct relevance to architectural modeling, digital animation, product development, and interactive multimedia. Homework assignments are designed for students to develop portfolio pieces, and students are required to produce a final project of professional quality. Prerequisite: an introductory multimedia course such as CSCI E-11.
Back to top of page.

CSCI E-23 Digital Libraries and the Internet (21854) (Syllabus)
Bijoy M. Misra, PhD, Consultant.
4 units. Noncredit and graduate credit $1,375. Limited enrollment.
Monday, Jan. 28, 5:30-7:30 pm, 53 Church Street, Room 201. Required sections Monday, 7:35-9:35 pm. Spring term

We will study file formats, image compression, network communication, and image and text search methods applied to digital libraries. Text, pictures, music, and video collections will be covered. Emphasis will be on keyword indexing, picture search algorithms, and picture reproduction. Copyright issues will be surveyed. The use of digital libraries in the context of remote education will be discussed and analyzed. Prerequisites: proficiency in the Macintosh or PC environment; prior experience in database design, image processing, and multimedia applications is recommended.
Back to top of page.

CSCI E-40 Geographic Information Science and GIS Programming (21859) (Syllabus)
Lucia Lovison-Golob, MS, Consultant, Division of Engineering and Applied Sciences, Harvard University.
4 units. Noncredit and graduate credit $1,375. Limited enrollment.
Wednesday, Jan. 30, 7:35-9:35 pm, Boylston Hall, Room 103. Required sections Wednesday, 5:30-7:30 pm. Spring term

The course introduces the basic concepts of geographic information science (GIS) and discusses the leading tools and applications. It explores spatial thinking by addressing issues related to data creation, management, and visualization. Specifically: scale, resolution, modeling, spatial analysis, and 2-D and 3-D statistical representation. It will cover new topics such as GIS online and, if time permits, location based services (LBS). It will also cover some basic GIS programming through hands-on applications. The assignments will be web-based. We will use mainly ArcGIS software with several extensions, as well as GeoMedia software. Prerequisites: previous experience programming in a higher level language (CSCI E-50a or equivalent), HTML, and statistics (STAT E-50 or equivalent).
Back to top of page.

CSCI E-50a Introduction to Computer Science Using Java I
4 units. Noncredit, undergraduate, and graduate credit $1,375.

Fall term (10701) (Syllabus): Henry H. Leitner, PhD, Senior Lecturer on Computer Science, Harvard University. Monday, Sept. 10, 5:30-7:30 pm, Science Center, Hall B. Required sections to be arranged.

Spring term (20913) (Syllabus): Stanley J. Eigen, PhD, Professor of Mathematics, Northeastern University. Monday, Jan. 28, 7:35-9:35 pm, Science Center, Hall D. Required sections to be arranged.

Intended for students with no previous programming background, 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 modern engineering techniques in the UNIX environment. Related topics include programming with loops, the basic aspects of arrays and recursion, string manipulation, parameter passing, information hiding and encapsulation using classes, and the functional decomposition of methods to enable object-oriented design. Some applications will be chosen for their relevance to more advanced coursework in computer science, while others will involve nonscientific and business-related areas.
Back to top of page.

CSCI E-50b Introduction to Computer Science Using Java II
4 units. Noncredit, undergraduate, and graduate credit $1,375.

Fall term (11992) (Syllabus): James L. Frankel, PhD, Lecturer on Computer Science, Harvard University. Tuesday, Sept. 11, 7:35-9:35 pm, Science Center, Hall D. Required sections to be arranged.

Spring term (20659) (Syllabus): Henry H. Leitner, PhD, Senior Lecturer on Computer Science, Harvard University. Monday, Jan. 28, 5:30-7:30 pm, Science Center, Hall B. Required sections to be arranged.

A continuation of object-oriented programming (OOP) methodology using Java in both microcomputer and UNIX environments. Begins with simple abstract data types (ADTs) using classes, objects, and overloaded methods. Continues with strings, multidimensional arrays, vectors, streams, and file I/O. An introduction to RISC machine architecture and the representation of numeric, structured, and symbolic data. Additional topics include simulation, recursion, exception handling, threads of execution, event-driven programming, and graphical user interface (GUI) design for applications and applets using the Swing classes. Prerequisite: CSCI E-50a or equivalent experience in a high-level programming language such as C, C++, or Java.
Back to top of page.

CSCI E-70 Graphical User Interface Programming in Java (11996) (Syllabus)
Daniel E. Bromberg, BS, Consultant.
4 units. Noncredit and graduate credit $1,375.
Wednesday, Sept. 12, 5:30-7:30 pm, Science Center, Room 102B. Required sections to be arranged. Fall term

Designed as a follow-up to CSCI E-50b for enthusiastic Java programmers who wish to probe more deeply into Java's Swing Libraries to create sophisticated graphical user-interactive facilities. Basic topics include: model/view paradigm, all major graphical user interface (GUI) components, layout managers, and font/color management. More advanced topics include: conformance to look-and-feel design guidelines, real-time displays, layering, and complex/custom widgets. Prerequisite: CSCI E-50b or equivalent.
Back to top of page.

CSCI E-113 Introduction to C, UNIX, and CGI Programming (10033) (Syllabus)
Bruce Molay, AB, Lecturer in Extension, Harvard University.
4 units. Noncredit and graduate credit $1,375.
Monday, Sept. 10, 7:35-9:35 pm, Science Center, Hall E. Optional sections to be arranged. Fall term

Designed for students with some programming experience, this course provides a rigorous introduction to writing and using software tools in the UNIX programming environment and on the World Wide Web. The curriculum covers the C programming language, UNIX shell scripts, HTML, and CGI programming. Topics include text processing, memory management, files and pipes, processes and protocols. Students will write programs to analyze data and generate reports, use shell scripts to combine tools into applications and interactive webpages, and use CGI to provide web access to databases. Prerequisites: a working knowledge of a structured programming language such as C++, Java, or Pascal; a data structures course such as CSCI E-119.
Back to top of page.

CSCI E-119 Data Structures
4 units. Noncredit, undergraduate, and graduate credit $1,375.

Fall term (10034) (Syllabus): Jeff Parker, PhD, Lecturer in Extension, Harvard University and Software Engineer, Axiowave Networks. Wednesday, Sept. 12, 7:35-9:35 pm, Harvard Hall, Room 201. Required sections to be arranged.

Spring term (21508) (Syllabus): Jeff Parker, PhD, Lecturer in Extension, Harvard University and Software Engineer, Axiowave Networks. Optional sections to be arranged. The course meets February 1 and February 8, 7:35-9:35 pm in Harvard Hall, Room 104. The remaining lectures will be available only on the Internet. Students must view sample online lectures before they register. See Distance Education.

A survey of the fundamental data structures for information processing: strings, sets, arrays, sequential files, stacks, queues, linked lists, trees (including AVL and B-trees), and graphs. The course will explore the implementation of these structures and study their use in solving complex problems. Applications include topics such as sorting and searching, record management, and backtracking algorithms. The Java programming language will be used to demonstrate the algorithms discussed, though assignments will be accepted in Java or C++. Key notions of object-oriented programming, including encapsulation and abstract data types, will be emphasized. Prerequisites: a good working knowledge of Java or C++, and familiarity with precalculus (MATH E-10 or equivalent).
Back to top of page.

CSCI E-123 Laboratory Electronics: Digital Circuit Design (20974) (Syllabus)
Thomas C. Hayes, JD, Lecturer on Physics, Harvard University.
4 units. Noncredit, undergraduate, and graduate credit $1,375. Limited enrollment.
Thursday, Jan. 31, 6-9:30 pm, Science Center, Room 206. Spring term
Students need proof of registration to be admitted to Science Center classrooms above the first floor.

This course forms the digital half of a two-semester sequence that provides a lab-intensive survey of electronics (the analog half of the sequence is PHYS E-123a). It covers digital design, emphasizing microprocessors and microcontrollers as well as programmable logic devices, and provides an understanding of the fundamentals of computer circuitry. After examining analog-digital interfacing issues, students will build a microcomputer from the chip level. They will apply this computer first to assigned tasks, later to individual projects. Each student will also work with a single-chip microcontroller development system which allows one to implement designs outside class time. Each meeting includes a laboratory session. Prerequisites: high school algebra and some modest familiarity with analog electronics. PHYS E-123a is not a prerequisite.
Back to top of page.

CSCI E-124 Algorithms and Data Structures (21462) (Syllabus)
Michael Mitzenmacher, PhD, Assistant Professor of Computer Science on the Gordon McKay Endowment, Harvard University.
4 units. Noncredit and graduate credit $1,375.
Three hours of recorded lectures each week; optional sections to be arranged. Spring term
Course available only on the Internet. Students must view sample online lectures before they register. See Distance Education.

A course on the design and analysis of efficient algorithms and their associated data structures. Sorting, searching, graph algorithms, and general algorithm design techniques will be covered. The recorded lectures are from the Harvard Division of Engineering and Applied Sciences course Computer Science 124. Prerequisites: CSCI E-119 or equivalent and sound knowledge of discrete mathematics (MATH E-104 or equivalent).
Back to top of page.

CSCI E-126 Algorithms for the Web and the Internet (11938) (Syllabus)
Michael Mitzenmacher, PhD, Assistant Professor of Computer Science on the Gordon McKay Endowment, Harvard University.
4 units. Noncredit and graduate credit $1,375.
Monday, Sept. 10, 5:30-7:30 pm, Maxwell Dworkin, Room G115. Optional sections to be arranged. Fall term
Course also available on the Internet. See Distance Education.

How do search engines such as Google work? How do compression tools like GZIP work? How do crytographic tools like PGP work? We will examine the algorithms and mathematics for the basic functionality of the Web. Prerequisites: MATH E-104 and CSCI E-119 or equivalents; CSCI E-124 preferred.
Back to top of page.

CSCI E-131b Communication Protocols and Internet Architectures
4 units. Noncredit and graduate credit $1,375.

Fall term (11353) (Syllabus): Leonard Evenchik, MS, Lecturer in Extension, Harvard University. Monday, Sept. 10, 7:35-9:35 pm, Science Center, Hall D. Optional sections to be arranged. Course also available on the Internet. See Distance Education.

Spring term (21387) (Syllabus): Leonard Evenchik, MS, Lecturer in Extension, Harvard University. Optional sections to be arranged. Course available only on the Internet. Students must view sample online lectures before they register. See Distance Education.

Networks are now too large, complex, and diverse to be built on an ad hoc basis. This course provides a structured approach to the design, analysis, and implementation of networks and protocols. We will study various protocols, including TCP/IP; WWW/HTTP; ATM; multimedia protocols for voice, data, and video; and the IEEE 802 LAN protocol suite. In each case, the protocol's functions and the underlying reference model will be discussed. LAN architecture and design, internetworking using switches and routers, and the design and analysis of both private networks and the Internet will be presented. The course also will discuss new areas of work, including network quality of service, voice and video on the Internet, policy-based networks and broad-band/gigabit networks. Prerequisites: programming or computer architecture experience and a basic understanding of the principles of communication.
Back to top of page.

CSCI E-132 Advanced Topics in Data Networking Protocols and Network Architectures (21257) (Syllabus)
Scott Bradner, Senior Technical Consultant, University Information Systems, Harvard University.
4 units. Noncredit and graduate credit $1,375.
Friday, Feb. 1, 5:30-7:30 pm, Science Center, Hall D. Spring term
Course also available on the Internet. See Distance Education.

This course provides in-depth exploration of a number of topics important in the design and operation of modern data networks. It is intended for people who will be involved in the details of data network planning, design, or support. Topics will include TCP/IP, IPv6 (the next generation of IP), SNMP, network architectures, quality of service, network security, routing theory and practice, and the architecture and operation of routers, frame switches, and ATM switches. Prerequisite: a good understanding of data networks or CSCI E-131b.
Back to top of page.

CSCI E-135 Computer Networks and Network Programming (11867) (Syllabus)
H. T. Kung, PhD, William H. Gates Professor of Computer Science and Electrical Engineering, Harvard University.
4 units. Noncredit and graduate credit $1,750.
Three hours of recorded lectures each week; optional sections to be arranged. Fall term
Course available only on the Internet. Students must view sample online lectures before they register. See Distance Education.

This is an advanced course that examines the design, implementation, and performance of computer networks. A significant aspect of the course is a number of challenging programming assignments that cover the implementation of applications using the TCP/IP protocol suite. Students must have X-Terminal software to do these assignments. Topics include: LANs, routing protocols, the details of the TCP/IP stack with particular attention to the congestion control of TCP, quality of service, performance analysis, multicast protocols, and other current research topics. Students who complete the course will be able to understand technical papers, have a solid knowledge of network programming using BSD sockets, and, more importantly, they will think like network engineers. The recorded lectures are from the Harvard Division of Engineering and Applied Sciences course Computer Science 143. Prerequisites: CSCI E-131b and CSCI E-215 and solid programming experience in C, or permission of instructor (contact Conrad Nobili conrad_nobili@harvard.edu).
Back to top of page.

CSCI E-141 Developing Windows Applications Using Visual C++ (21811) (Syllabus)
Paul G. Bamberg, DPhil, Senior Lecturer on Mathematics, Harvard University.
4 units. Noncredit and graduate credit $1,375.
Wednesday, Jan. 30, 7:35-9:35 pm, Science Center, Hall A. Required sections to be arranged. Spring term

The theme of the course is that Windows application programs that require a user interface are most efficiently developed by taking advantage of the Microsoft Foundation Classes and the wizards of Visual C++ to supply all code that is not unique to the application. From the start, students will develop interesting applications with a professional-looking user interface: first dialog-based applications, then property sheets and wizards with multiple dialogs, and finally document-view applications. Key concepts of Windows and C++ will be introduced as appropriate. Prerequisites: an introductory course in C++. Experience as a user of Windows 95/98/NT will be helpful, but no Windows programming experience is assumed. Students are expected to have a Visual C++ or 6.0 development environment and internet access.
Back to top of page.

CSCI E-160 Java for Distributed Computing
4 units. Noncredit and graduate credit $1,375.

Fall term (11838) (Syllabus): Charles M. Sawyer, Jr., MS, Lead Java Programmer, Nortel Networks. Optional sections to be arranged. Course available only on the Internet. Students must view sample online lectures before they register. See Distance Education. Limited enrollment.

Spring term (21331) (Syllabus): Charles M. Sawyer, Jr., MS, Lead Java Programmer, Nortel Networks. Wednesday, Jan. 30, 7:35-9:35 pm, Science Center, Hall C. Required sections to be arranged. Course also available on the Internet. See Distance Education.

This course comprises a rigorous study of the core Java programming language, followed by an inquiry into its most promising area of application, building distributed systems. The first part will cover classes and inheritance, abstract classes, interfaces, exceptions, threads, packages, events, reflection, and javadoc. The second part explores the use of Java to implement three-tier architectured systems. By providing support for security, networking, and threads as part of the language specification, and by offering complete portability through its virtual machine, Java is the ideal language for building applications whose objects are distributed on a network. Both major distributed object protocols, Common Object Request Broker Architecture (CORBA) and Java's Remote Method Invocation (RMI), will be surveyed. Prerequisite: substantial experience with another programming language, preferably an object-oriented language.
Back to top of page.

CSCI E-162 Distributed and Enterprise Computing
4 units. Noncredit and graduate credit $1,375. Limited enrollment.

Fall term (11683) (Syllabus): Jon Christensen, PhD, President, Elytics, Inc. John G. Norman, PhD, Software Engineer, Veritas Medicine. Wednesday, Sept. 12, 7:35-9:35 pm, Science Center, Room B-09. Optional sections Wednesday, 6:30-7:30 pm.

This course will survey various distributed architectures for designing n-tier and distributed systems. The course will examine a number of topics covering various aspects of n-tier Java systems including distributed architectures (message passing, RMI, EJB, CORBA), directory services, persistence, and security. The role of middleware and application servers will also be examined, including an examination of the Enterprise JavaBeans framework. Students will work in small teams to complete software projects utilizing the concepts discussed in lecture. The final programming project involves a specific problem that groups solve using any of the technologies or architectures discussed, as well as providing a defense of the selected approach. Prerequisites: a good working knowledge of the Java programming language, including knowledge of basic Java class libraries and practical experience with several large Java or C++ projects.

Spring term (21510) (Syllabus): James Farley, MS, Director of Application Engineering and Chief Technical Architect, University Information Systems, Harvard University. Tuesday, Jan. 29, 5:30-7:30 pm, Harvard Hall, Room 104. Optional sections to be arranged. Course also available on the Internet. See Distance Education.

This course offers an in-depth study of the practice of building enterprise systems within the Java programming environment and Java 2 Enterprise Edition (J2EE) framework. The course progresses through a series of units (basic tools of the trade, distributed objects, data and directory services, distributed components), covering along the way many of the key application programming interfaces (APIs) and tools used to develop enterprise applications. The APIs covered will include servlets, JavaServer pages, remote method invocation, Enterprise JavaBeans, XML, JDBC, and Java naming and directory interface. Programming assignments will also allow students to gain hands-on experience with these tools of the trade, and the final project will provide a chance to engage in a more involved system design using these tools. Prerequisites: introduction to programming in Java; CSCI E-160 or equivalent.
Back to top of page.

CSCI E-164 Distributed Object Computing with Java and CORBA (11631) (Syllabus)
William B. Robinson, PhD, Lecturer in Extension, Harvard University and Senior Architect, Verizon.
4 units. Noncredit and graduate credit $1,375.
Monday, Sept. 10, 7:35-9:35 pm, Maxwell Dworkin, Room G115. Required sections to be arranged. Fall term
Course also available on the Internet. See Distance Education.

This course will cover fundamental concepts of distributed object computing and their implementation in the Common Object Request Broker Architecture (CORBA), an industry standard for distributed object computing. Topics to be covered include the CORBA reference model, CORBA IDL, and common object services. The course will also provide comparisons to two other distributed object frameworks, Java's remote method invocation (RMI) and the distributed component object model (DCOM). All programming assignments will be done in Java. Prerequisites: CSCI E-119 or equivalent and proficiency in Java.
Back to top of page.

CSCI E-207 Theory of Computation and Its Applications (11323) (Syllabus)
Deborah Abel, AB, Software Developer, Teragram Corporation.
4 units. Noncredit and graduate credit $1,375.
Wednesday, Sept. 12, 7:35-9:35 pm, Science Center, Hall A. Optional sections to be arranged. Fall term

The fundamental concepts of the theory of automata, formal languages, computability, and computational complexity, and their relevance to the practice of computation. Practical applications include the parsing of natural and artificial languages, generative mechanisms in computer graphics, and identifying and coping with computationally hard problems. Homework assignments will include some programming. Prerequisites: CSCI E-119 and MATH E-104 or equivalents.
Back to top of page.

CSCI E-215 UNIX Systems Programming (20034) (Syllabus)
Bruce Molay, AB, Lecturer in Extension, Harvard University.
4 units. Noncredit and graduate credit $1,375.
Monday, Jan. 28, 5:30-7:30 pm, Science Center, Hall A. Optional sections to be arranged. Spring term
Course also available on the Internet. See Distance Education.

An introduction to the fundamental structure and services of the UNIX operating system. The course combines theory with programming at the system call level. Topics include files and directories, device control, terminal handling, processes and threads, signals, pipes, and sockets. Examples and exercises include directory management utilities, a shell, and an internet database client. Prerequisites: solid knowledge of C or C++ and a data structures course such as CSCI E-119; some experience using UNIX helpful.
Back to top of page.

CSCI E-218 Intermediate COM and COM+ Programming (20483) (Syllabus)
Joseph Ficara, AA, Principal Software Engineer, One Source.
4 units. Noncredit and graduate credit $1,375.
Wednesday, Jan. 30, 7:35-9:35 pm, Science Center, Room 109. Optional sections to be arranged. Spring term

This course is designed to enable developers to become proficient in many aspects of COM/COM+ programming and to aid them in the transition from COM to .NET. Topics covered include COM; COM with ATL; COM with VB; COM with MFC ActiveX controls; automation; type libraries; threading (STA, MTA, TNA); DCOM, COM, and security; monikers; object persistence; MSMQ; COM+ events; queued components; asynchronous COM, and SOAP. COM to .NET transition topics include an introduction to .NET from a COM developer's perspective, COM/.NET interoperability, and using COM+ services from .NET. Students are strongly urged to have their own Windows development environments and an MSDN subscription. Prerequisites: one year Windows programming using the Win32 API required, two years recommended. One year C++ programming experience required, two years recommended. Windows programming using ATL, as well as MFC and Microsoft Visual Basic recommended.
Back to top of page.

CSCI E-220 Artificial Intelligence (11420) (Syllabus)
David Albert, MS.
4 units. Noncredit and graduate credit $1,375.
Thursday, Sept. 13, 5:30-7:30 pm, Science Center, Room 110. Required sections Thursday, 7:35-8:35 pm. Fall term

Artificial Intelligence (AI) concerns the development of computer systems that appear to behave with some degree of human intelligence. This survey course covers the major topics in AI: search techniques, natural language understanding, knowledge representation, theorem proving, and computer vision. Planning, learning, and expert systems will be included if time permits. The LISP programming language will be introduced and used for the programming assignments. No prior experience with LISP is assumed. Prerequisite: CSCI E-50b or equivalent.
Back to top of page.

CSCI E-225 Object-Oriented Programming in C++ (11988) (Syllabus)
Kenneth J. Basye, PhD, Lecturer in Extension, Harvard University and Senior Research Engineer, Lernout & Hauspie Speech Products.
4 units. Noncredit and graduate credit $1,375.
Tuesday, Sept. 11, 7:35-9:35 pm, Science Center, Room 110. Optional sections to be arranged. Fall term

This course is designed to enable C programmers to become proficient in C++. Topics include class definitions, overloading functions and operators, access control, single and multiple inheritance, virtual functions and abstract classes, templates, exceptions, and the standard template library. Useful applications such as smart pointers and reference counting also will be discussed. Prerequisites: a working knowledge of C, including structures and pointers, is assumed; substantial experience in C is preferred.
Back to top of page.

CSCI E-229 Practical User Interface Design (21867) (Syllabus)
Doug Gibson, BS, Associate User Interface Director, Digitas. Marc Cajolet, BS, Creative Director, Digital Art Design.
4 units. Noncredit and graduate credit $1,375. Limited enrollment.
Wednesday, Jan. 30, 5:30-7:30 pm, 51 Brattle Street, Room 123/5. Optional sections to be arranged. Spring term

Websites and software products aren't of much value if people can't use them. This course presents techniques for designing effective user interfaces, emphasizing web and graphical user interface design. Topics include understanding the people who will use the product (user/task analysis, requirements gathering, conceptual models), designing an effective user interface (information architecture design, rapid prototyping, UI, and visual design principles), and objectively assessing the results (usability testing). The course combines theory with practical assignments in which students build, test, and refine working software prototypes. Prerequisite: some familiarity with web or graphical user interfaces.
Back to top of page.

CSCI E-234 Introduction to Computer Graphics (11692) (Syllabus)
Hanspeter Pfister, PhD, Research Scientist, Mitsubishi Electric Research Laboratory.
4 units. Noncredit and graduate credit $1,375.
Wednesday, Sept. 12, 7:35-9:35 pm, Maxwell Dworkin, Room G115. Optional sections to be arranged. Fall term

This course introduces important data structures and algorithms that are useful for creating images on a computer, providing students with sufficient background to write substantial computer graphics applications. It will begin by reviewing the mathematical tools and concepts used in computer graphics. We will then use OpenGL, the industry standard API for computer graphics, to write full-fledged applications and to introduce 3-D transformations and projections, shading, modeling hierarchies, and animation. We will also use ray tracing, a popular image-rendering technique to introduce important computer graphics concepts such as geometric modeling, illumination, texture mapping, and antialiasing. This course does not cover the use of graphics design applications such as Photoshop and AutoCAD; it is a programming class. Prerequisite: CSCI E-119 or equivalent.
Back to top of page.

CSCI E-235 Advanced Computer Graphics (21632) (Syllabus)
Hanspeter Pfister, PhD, Research Scientist, Mitsubishi Electric Research Laboratory.
4 units. Noncredit and graduate credit $1,375.
Wednesday, Jan. 30, 7:35-9:35 pm, Maxwell Dworkin, Room G125. Optional sections to be arranged. Spring term

In this course we will discuss several advanced concepts and methods of three-dimensional computer graphics. Topics covered include image processing, image-based rendering, advanced ray tracing, radiosity, advanced OpenGL, and computer animation. Prerequisites: CSCI E-234 or substantial experience in 3-D computer graphics programming; experience with programming in C.
Back to top of page.

CSCI E-247 Design Patterns and Java (21095) (Syllabus)
William B. Robinson, PhD, Lecturer in Extension, Harvard University and Senior Architect, Verizon.
4 units. Noncredit and graduate credit $1,375.
Monday, Jan. 28, 7:35-9:35 pm, Science Center, Hall A. Required sections to be arranged. Spring term
Course also available on the Internet. See Distance Education.

Object-oriented languages enable reuse of objects through class libraries distributed at the source or the binary level. Higher-level design patterns enable reuse of designs for structuring object systems. In this course, students will learn about creational, structural, and behavioral design patterns, and techniques for implementing these patterns in Java. All programming assignments will be done in Java. Prerequisites: CSCI E-119 or equivalent and proficiency in Java.
Back to top of page.

CSCI E-251 Principles of Operating Systems (21864) (Syllabus)
James L. Frankel, PhD, Lecturer on Computer Science, Harvard University.
4 units. Noncredit, undergraduate, and graduate credit $1,375.
Tuesday, Jan. 29, 7:35-9:35 pm, Science Center, Room B-09. Spring term

This course examines the role of operating systems: process synchronization and scheduling; memory management including swapping, paging, and segmentation; file management; protection and security; input/output techniques and resource allocation; deadlock avoidance; and operating system case studies. Prerequisites: CSCI E-119, experience using UNIX, or equivalent.
Back to top of page.

CSCI E-253 Introduction to Database Systems and Client/Server Computing (21856) (Syllabus)
Theodore Pappadopoulos, AB, Consultant, University Information Systems, Harvard University.
4 units. Noncredit and graduate credit $1,375.
Thursday, Jan. 31, 5:30-7:30 pm, Science Center, Hall A. Optional sections to be arranged. Spring term

Client/server computing promises the advantages of workstation productivity and ease of use together with the power and sophistication of database servers. The course will begin with a discussion of database design, the relational database model, and object-oriented database design. As a practical example of a relational database management system, students will build, populate, query, and write triggers, procedures, and transactions for a relational database using SQL and Oracle. The course will then focus upon client application development tools, primarily web application development using ColdFusion. Students will be expected to build a prototype client/server application as a final project. This course is an introduction to a range of topics used to build today's client/server applications and is intended for data-processing professionals. No prior experience with SQL, relational databases, or client application development tools is required. Prerequisites: coursework or equivalent experience in computer programming in UNIX using C or Java; basic knowledge of HTML would be very helpful.
Back to top of page.

CSCI E-254 Oracle 8i/9i: SQL*Plus and PL/SQL Coding (11357) (Syllabus)
Zoran B. Djordjevic, PhD, Senior Database Architect, S1 Corporation.
4 units. Noncredit and graduate credit $1,750.
Friday, Sept. 14, 5:30-7:30 pm, Science Center, Hall A. Required sections Friday, 7:35-9:35 pm. Fall term

This course teaches Oracle 8i/9i, the internet-oriented, object-relational database, utilizing structured query language (SQL), and Oracle's procedural language extension (PL/SQL). Oracle's user interface SQL*Plus will be covered in detail. Students will learn to write stored procedures, functions and triggers, and create packages (libraries) in PL/SQL. Students will also learn to manipulate XML files and publish HTML pages using PL/SQL. Prerequisites: CSCI E-253 or equivalent, previous programming experience in at least one higher-level language (Pascal, C, C++, Java) familiarity with building Entity-Relationship Models.
Back to top of page.

CSCI E-256 Oracle Database Administration (21245) (Syllabus)
Patrick McGowan, BSEE, Senior Database Administrator, University Information Systems, Harvard University.
4 units. Noncredit and graduate credit $1,750. Limited enrollment.
Wednesday, Jan. 30, 5:30-7:30 pm, Science Center, Hall A. Required sections to be arranged. Spring term

Students in this course will be exposed to the internal structure and organization of an Oracle database. The course will present a structured approach to planning, building, tuning, and monitoring an Oracle8 database. Students will create Oracle databases, tablespaces, user accounts, views, indexes, and other objects necessary to support an application. Prerequisites: an understanding of the principles of a relational database model; a working knowledge of SQL; CSCI E-253, CSCI E-254, or equivalent.
Back to top of page.

CSCI E-257 Designing Systems for Electronic Commerce (11825) (Syllabus)
Cheryl M. Hughes, BS, Senior Web Server Engineer, Fidelity Investments.
4 units. Noncredit and graduate credit $1,375.
Monday, Sept. 10, 5:30-7:30 pm, Sever Hall, Room 107. Required sections Monday, 7:35-9:35 pm. Fall term

This course examines the fundamentals of designing systems for electronic commerce. We will begin by looking briefly at the history of electronic commerce and reviewing a few case studies. We will then examine the components of an electronic commerce system in detail, including: database engines, web servers, application/storefront servers, payment systems, programming languages, legacy system integration, system maintenance, security, cryptography methods, user authentication, and personalization. We will also discuss system architecture issues such as load balancing, DNS, firewalls, and disaster recovery. Prerequisites: UNIX, HTML, a programming course, and database design experience.
Back to top of page.

CSCI E-259 Developing e-Business Applications Using XML (21701) (Syllabus)
Omri Traub, AB, Principal Engineer, eXcelon Corporation.
4 units. Noncredit and graduate credit $1,375.
Monday, Jan. 28, 7:35-9:35 pm, Harvard Hall, Room 201. Optional sections to be arranged. Spring term

Intended for students with previous Java programming and web development experience, this course introduces XML as a key enabling technology in today's e-business applications. Students will learn the fundamentals of XML: schemas, XSL stylesheets, and programmatic access using standard APIs. Building on these foundations, this course will explore in detail a number of case studies that utilize XML in e-business: e-commerce, web personalization, and business-to-business information exchange. Data modeling techniques in XML will be introduced in the context of the case studies. Prerequisites: CSCI E-12, CSCI E-50b, and CSCI E-119 or equivalent.
Back to top of page.

Related Courses

  • BIOL E-101 Genomics and Computational Biology
  • CSS E-103a Designing Effective Websites: A Marketing Perspective
  • CSS E-118 Information Systems Management
  • CSS E-130a Emerging e-Commerce Law and Policy
  • CSS E-400 Microcomputers and Information Technologies
  • CSS E-403 Advanced Desktop Applications for Managers
  • CSS E-408 Spreadsheet Models for Managers
  • CSS E-410 Developing e-Commerce Models
  • CSS E-412 Information Management for Managers
  • CSS E-540 Electronic Communication as a Management Tool
  • CREA E-130 Desktop Publishing
  • CREA E-132 Writing for the Internet
  • EXPO E-510 Editing Technical Prose
  • HIST E-110 Digital History: Studying the Past with the New Media
  • HUMA E-105/W Survey of Publishing: From Text to Hypertext
  • LSTU E-120 Internet and Society: Technologies and Politics of Control
  • LSTU E-125 Law and Technology
  • LSTU E-130 Intellectual Property Law and the Internet
  • MATH E-104 Discrete Mathematics with Computer Science Applications
  • MATH E-105 Groups, Graphs, and Algebraic Structures for Computing
  • MUSE E-130 Information Technology for Museums
  • PHYS E-123a Laboratory Electronics: Analog Circuit Design
  • STAT E-50 Introduction to Statistics

See courses listed under Education.

Top of page

Previous | Next

 

51 Brattle St, Cambridge, MA 02138-3722 USA  Phone (617) 495-4024
Copyright © 2001-02 The President and Fellows of Harvard College.
Webmaster. Last modified Wed, Feb 25, 2004