Print Settings
 

BIOMEDIN 210: Modeling Biomedical Systems: Ontology, Terminology, Problem Solving (CS 270)

Methods for modeling biomedical systems and for building model-based software systems. Emphasis is on intelligent systems for decision support and Semantic Web applications. Topics: knowledge representation, controlled terminologies, ontologies, reusable problem solvers, and knowledge acquisition. Students learn about current trends in the development of advanced biomedical software systems and acquire hands-on experience with several systems and tools. Prerequisites: CS106A, basic familiarity with biology.
Terms: Win | Units: 3 | Grading: Letter or Credit/No Credit

CME 151A: Interactive Data Visualization in D3

This four-week short course introduces D3, a powerful tool for creating interactive data visualizations on the web (d3js.org). The class is geared toward scientists and engineers who want to better communicate their personal projects and research through visualizations on the web. The class will cover the basics of D3: inputting data, creating scales and axes, and adding transitions and interactivity, as well as some of the most used libraries: stack, cluster and force layouts. The class will be based on short workshops and a final project. A background in programming methodology at the level of CS106A is assumed. The course will make use of Javascript, experience is recommended but not necessary.
Terms: Aut | Units: 1 | Grading: Satisfactory/No Credit
Instructors: ; Camelo Gomez, S. (PI)

CME 193: Introduction to Scientific Python

This short course runs for the first four weeks of the quarter. It is recommended for students who are familiar with programming at least at the level of CS106A and want to translate their programming knowledge to Python with the goal of becoming proficient in the scientific computing and data science stack. Lectures will be interactive with a focus on real world applications of scientific computing. Technologies covered include Numpy, SciPy, Pandas, Scikit-learn, and others. Topics will be chosen from Linear Algebra, Optimization, Machine Learning, and Data Science. Prior knowledge of programming will be assumed, and some familiarity with Python is helpful, but not mandatory.
Terms: Aut, Win, Spr | Units: 1 | Grading: Satisfactory/No Credit

CME 250A: Machine Learning on Big Data

A short course presenting the application of machine learning methods to large datasets.Topics include: brief review of the common issues of machine learning, such as, memorizing/overfitting vs learning, test/train splits, feature engineering, domain knowledge, fast/simple/dumb learners vs slow/complex/smart learners; moving your model from your laptop into a production environment using Python (scikit) or R on small data (laptop sized) at first; building math clusters using the open source H2O product to tackle Big Data, and finally to some model building on terabyte sized datasets. Prereqresites: basic knowledge of statistics, matrix algebra, and unix-like operating systems; basic file and text manipulation skills with unix tools: pipes, cut, paste, grep, awk, sed, sort, zip; programming skill at the level of CME211 or CS106A.
Terms: offered occasionally | Units: 1 | Grading: Satisfactory/No Credit

CS 101: Introduction to Computing Principles

Introduces the essential ideas of computing: data representation, algorithms, programming "code", computer hardware, networking, security, and social issues. Students learn how computers work and what they can do through hands-on exercises. In particular, students will see the capabilities and weaknesses of computer systems so they are not mysterious or intimidating. Course features many small programming exercises, although no prior programming experience is assumed or required. CS101 is not a complete programming course such as CS106A. CS101 is effectively an alternative to CS105. A laptop computer is recommended for the in-class exercises.
Terms: Spr | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR | Grading: Letter or Credit/No Credit

CS 102: Big Data: Tools and Techniques, Discoveries and Pitfalls

Aimed at non-CS undergraduate and graduate students who want to learn the basics of big data tools and techniques and apply that knowledge in their areas of study. Many of the world's biggest discoveries and decisions in science, technology, business, medicine, politics, and society as a whole, are now being made on the basis of analyzing massive data sets. At the same time, it is surprisingly easy to make errors or come to false conclusions from data analysis alone. This course provides a broad and practical introduction to big data: data analysis techniques including databases, data mining, and machine learning; data analysis tools including spreadsheets, relational databases and SQL, Python, and R; data visualization techniques and tools; pitfalls in data collection and analysis; historical context, privacy, and other ethical issues. Tools and techniques are hands-on but at a cursory level, providing a basis for future exploration and application. Prerequisites: comfort with basic logic and mathematical concepts, along with high school AP computer science, CS106A, or other equivalent programming experience.
Terms: Aut, Spr | Units: 3-4 | UG Reqs: WAY-AQR | Grading: Letter or Credit/No Credit

CS 106A: Programming Methodology (ENGR 70A)

Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Emphasis is on good programming style and the built-in facilities of respective languages. No prior programming experience required. Summer quarter enrollment is limited. Alternative versions of CS106A are available which cover most of the same material but in different programming languages: Java [Fall, Win, Spr, or Sum qtr enroll in CS106A Section 1] Javascript [Fall qtr enroll in CS 106A Section 2] Python [Winter or Spring qtr enroll in CS 106A Section 3]
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR | Grading: Letter or Credit/No Credit

CS 106AJ: Programming Methodology in JavaScript

Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the JavaScript programming language. Emphasis is on good programming style and the built-in facilities of the JavaScript language. No prior programming experience required. This course covers most of the same material as CS106A Section 1 in Java and CS 106A Section 3 in Python, but this course uses the JavaScript programming language. To enroll in this class, enroll in CS 106A Section 2 for Fall Qtr. May be taken for 3 units by grad students.
Terms: Aut | Units: 3-5 | Grading: Letter or Credit/No Credit

CS 106AP: Programming Methodology in Python

Introduction to the engineering of computer applications in Python, emphasizing modern software engineering principles: decomposition, abstraction, and testing. Emphasis is on good programming style. This course covers most of the same material as CS106A Section 1 in Java and CS 106A Section 2 in JavaScript, but this course uses the Python programming language which is popular for general engineering and web development. Required readings will all be available for free on the web. Students are encouraged to bring a laptop to lecture to do the live exercises which are integrated with lecture. No prior programming experience required. To enroll in this class, enroll in CS 106A Section 3. May be taken for 3 units by grad students. Enrollment is limited for winter quarter 2017-18 but from spring quarter 2017-18 enrollment will be unlimited.
Terms: Win, Spr | Units: 3-5 | Grading: Letter or Credit/No Credit

CS 106E: Practical Exploration of Computing

A follow up class to CS106A for non-majors which will both provide practical web programming skills and cover essential computing topics including computer security and privacy. Additional topics will include digital representation of images and music, an exploration of how the Internet works, and a look at the internals of the computer. Students taking the course for 4 units will be required to carry out supplementary programming assignments in addition to the course's regular assignments. Prerequisite: 106A or equivalent
Terms: Spr | Units: 3-4 | Grading: Letter or Credit/No Credit

CS 193C: Client-Side Internet Technologies

Client-side technologies used to create web sites such as Google maps or Gmail. Includes HTML5, CSS, JavaScript, the Document Object Model (DOM), and Ajax. Prerequisite: programming experience at the level of CS106A.
Terms: Sum | Units: 3 | Grading: Letter or Credit/No Credit
Instructors: ; Young, P. (PI)

CS 270: Modeling Biomedical Systems: Ontology, Terminology, Problem Solving (BIOMEDIN 210)

Methods for modeling biomedical systems and for building model-based software systems. Emphasis is on intelligent systems for decision support and Semantic Web applications. Topics: knowledge representation, controlled terminologies, ontologies, reusable problem solvers, and knowledge acquisition. Students learn about current trends in the development of advanced biomedical software systems and acquire hands-on experience with several systems and tools. Prerequisites: CS106A, basic familiarity with biology.
Terms: Win | Units: 3 | Grading: Letter or Credit/No Credit

EE 104: Introduction to Machine Learning

Introduction to machine learning. Formulation of supervised and unsupervised learning problems. Regression and classification. Data standardization and feature engineering. Loss function selection and its effect on learning. Regularization and its role in controlling complexity. Validation and overfitting. Robustness to outliers. Simple numerical implementation. Experiments on data from a wide variety of engineering and other disciplines. In this initial offering, enrollment is limited to 50 students. Undergraduate students should enroll for 5 units, and graduate students should enroll for 3 units. Prerequisites: EE 103; EE 178 or CS 109; CS106A or equivalent.
Terms: Spr | Units: 3-5 | Grading: Letter or Credit/No Credit

ENGR 70A: Programming Methodology (CS 106A)

Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Emphasis is on good programming style and the built-in facilities of respective languages. No prior programming experience required. Summer quarter enrollment is limited. Alternative versions of CS106A are available which cover most of the same material but in different programming languages: Java [Fall, Win, Spr, or Sum qtr enroll in CS106A Section 1] Javascript [Fall qtr enroll in CS 106A Section 2] Python [Winter or Spring qtr enroll in CS 106A Section 3]
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR | Grading: Letter or Credit/No Credit

IMMUNOL 207: Essential Methods in Computational and Systems Immunology

Introduction to the major underpinnings of systems immunology: first principles of development of computational approaches to immunological questions and research; details of the algorithms and statistical principles underlying commonly used tools; aspects of study design and analysis of data sets. Prerequisites: CS106a and CS161 strongly recommended.
Terms: Spr | Units: 3 | Grading: Medical Option (Med-Ltr-CR/NC)

ME 47: Press Play: Interactive Device Design

This course provides an introduction to the human-centered and technical workings behind interactive devices ranging from cell phones and video controllers to household appliances and smart cars. This is a hands-on, lab-based course; there will be no midterm or final. Course topics include electronics prototyping, interface prototyping, sensors and actuators, microcontroller development, physical prototyping and user testing. For the final project, students will build a working MP3 player prototype of their own design, using embedded microcontrollers, digital audio decoders, component sensors and other electronic hardware. Prior experience in programming, such as CS106A (or equivalent) or electronics, such as ENG40A (or equivalent) preferred. Students must attend the first class.
Terms: not given this year | Units: 4-5 | Grading: Letter or Credit/No Credit

ME 52SI: Scan, Model, Print! Designing with 3D Technology

Think 3D scanning, modeling, and printing technology is just about plastic widgets? Think again! Immerse yourself in a world of custom prosthetics, manufacturing in space, autonomous cars, and much more. This hands-on engineering design course teaches advanced 3D imaging and computational modeling skills in order to leverage the unique benefits of additive manufacturing to solve complex problems. Students will connect the theory behind these tools to direct experience with the equipment and software. Short assignments at the start of the quarter will build students' core competencies and prepare them for a team-based, open-ended project. Class time will be a mixture of lecture, lab, guest speakers, and field trips. Recommended: basic CAD, fabrication, and programming experience (e.g. ME103D, 203, CS106A or equivalents).
Terms: not given this year | Units: 2 | Grading: Satisfactory/No Credit

ME 216M: Introduction to the Design of Smart Products

This course will focus on the technical mechatronic skills as well as the human factors and interaction design considerations required for the design of smart products and devices. Students will learn techniques for rapid prototyping of smart devices, best practices for physical interaction design, fundamentals of affordances and signifiers, and interaction across networked devices. Students will be introduced to design guidelines for integrating electrical components such as PCBs into mechanical assemblies and consider the physical form of devices, not just as enclosures but also as a central component of the smart product. Prerequisites include: CS106A, E40, and ME 210 or ME218 highly recommended, or instructor approval.
Terms: Spr | Units: 4 | Grading: Letter or Credit/No Credit

PHYSICS 91SI: Practical Computing for Scientists

Essential computing skills for researchers in the natural sciences. Helping students transition their computing skills from a classroom to a research environment. Topics include the Unix operating system, the Python programming language, and essential tools for data analysis, simulation, and optimization. More advanced topics as time allows. Prerequisite: CS106A or equivalent.
Terms: Spr | Units: 2 | Grading: Satisfactory/No Credit

SOMGEN 217SI: Fundamentals of Digital Health Innovation

Digital Health is an emerging field that sits at the intersection of healthcare and technology. Last year, healthcare spending in the United States surpassed $3.2T, and remains an unmet need. To fully address this issue, this requires expertise in healthcare and technology trends. This class will focus on how understanding healthcare trends of the past, present and future combined with the innovative technology trends can ultimately be utilized to drive innovation in healthcare. Some topics covered will revolve around technology trends in healthcare and healthcare stakeholders, such as providers, payers, biotechnology and pharmaceutical companies, FDA, and the financial markets. Prerequisities for the course are BIO41 or CS106A or equivalent.
Terms: not given this year | Units: 1 | Grading: Medical Satisfactory/No Credit
© Stanford University | Terms of Use | Copyright Complaints