object-oriented design
sort by: Relevancy | Title try advanced search for more options
-
Human-Computer Interaction Seminar (Seminar on People, Computers, and Design) is a Stanford University course that features weekly speakers on topics related to human-computer interaction design. The seminar is organized by the Stanford HCI Group, which works across disciplines to understand the intersection between humans and computers.
-
The course covers the system and design issues relevant to high-speed electrical (and optical, if time permits) signaling. We start with the basics of channel properties, modeling, measurements, and communications techniques. Circuit design of main components is covered in detail. The system design issues such as planning and budgeting are presented. A large portion of the class is devoted to case studies that include the multi...more
-
This course covers topics on the engineering of computer software and hardware systems: techniques for controlling complexity; strong modularity using client-server design, virtual memory, and threads; networks; atomicity and coordination of parallel activities; recovery and reliability; privacy, security, and encryption; and impact of computer systems on society. It also looks at case studies of working systems and readings from the curre...more
-
The internal organization and operation of digital computers. Machine architecture, support for high-level languages (logic, arithmetic, instruction sequencing) and operating systems (I/O, interrupts, memory management, process switching). Elements of computer logic design. Tradeoffs involved in fundamental architectural design decisions.
-
Note: This course is being offered by Stanford this summer as an online course for credit. It can be taken individually, or as part of a master’s degree or graduate certificate earned online through the Stanford Center for Professional Development. This course is the natural successor to Programming Methodology and covers such advanced programming topics as recursion, algorithmic analysis, and data abstraction using the C++ programming...more
-
Architectural and circuit level design and analysis of integrated analog-to-digital and digital-to-analog interfaces in CMOS and BiCMOS VLSI technology. Analog-digital converters, digital-analog converters, sample/hold amplifiers, continuous and switched-capacitor filters. RF integrated electronics including synthesizers, LNA's, and baseband processing. Low power mixed signal design. Data communications functions including clock recovery. ...more
-
Topics include: Advanced memory management features of C and C++; the differences between imperative and object-oriented paradigms; the functional paradigm (using LISP) and concurrent programming (using C and C++); brief survey of other modern languages such as Python, Objective C, and C#. Prerequisites: Programming and problem solving at the Programming Abstractions level. Prospective students should know a reasonable amount of C++. Yo...more
-
Programming Methodology is the largest of the introductory programming courses and is one of the largest courses at Stanford. Topics focus on the introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Programming Methodology teaches the widely-used Java programming language along with good software engine...more
-
Professor Kleiner focuses on Ostia, the port of Rome, characterized by its multi-storied residential buildings and its widespread use of brick-faced concrete. She begins with the city's public face--the Forum, Capitolium, Theater, and Piazzale delle Corporazioni. The Piazzale, set behind the Theater, was the location of various shipping companies with black-and-white mosaics advertising their business. Professor Kleiner examines the Baths ...more
-
Professor Kleiner explores the architecture of the western provinces of the Roman Empire, focusing on sites in what are now North Italy, France, Spain, and Croatia. Her major objective is to characterize "Romanization," the way in which the Romans provide amenities to their new colonies while, at the same time, transforming them into miniature versions of the city of Rome. Professor Kleiner discusses the urban design of two Augustan towns ...more
-
We consider games in which players move sequentially rather than simultaneously, starting with a game involving a borrower and a lender. We analyze the game using "backward induction." The game features moral hazard: the borrower will not repay a large loan. We discuss possible remedies for this kind of problem. One remedy involves incentive design: writing contracts that give the borrower an incentive to repay. Another involves commitment...more
-
Principles of Good Software Engineering for Managing Large Amounts of Data
Stanford / Computer Science

Principles of Good Software Engineering for Managing Large Amounts of Data, Principles of Design, The Collection Hierarchy, Useful Methods of Collection, The FlyTunes Example Program - An Online Music Store, Defining the Song Class, Defining the Album Class, Seeing the Program Run, Considering the Data Structures Needed, Reusing Data - Shallow Copy vs. Deep Copy, The FlyTunesStore Program Code



