Skip to content Skip to navigation

Engineering & Computer Science

Topic Image: 
Engineering and Computer Science
Go to Course

Application Required: Apply Now

Fee Applies.

Applications may be submitted online at anytime. Sample Application

Now open!

Course Overview

From smartphones to tablets to watches, users are relying more and more on the convenience of mobile technology. Organizations must meet this growing trend with greater security measures to support critical business functions and protect sensitive data on enterprise devices. Mobile architectures, applications, networks and services must all be developed and managed in compliance with the oversight of a strong IT workforce.

This course provides an in-depth technical overview of the security features and limitations of modern mobile operating systems, including the top risks and vulnerabilities, every IT professional needs to know.

You Will Learn

  • Mobile application security measures
    • Native, API-based, Web-based and HTML5 system architectures are covered in Android, Surface, Apple and Samsung devices. The latest threats to mobile application security including data leakage, identifier leakage, third-party tags and libraries, and location privacy are also reviewed. An ecosystem-level of available application store defenses are detailed using Bouncer (Android automated vetting) and iOS (Apple manual and automated vetting) to demonstrate permission models and defense against circumvention.
  • Models to develop and secure Android applications
    • WebView, common cryptographic mistakes and marketplace issues reveal how malicious intent can cause security breaches in Android applications. Establishing practices to defend against threats through app code signing, runtime processing, permissions and other features like Bytecode are discussed.
  • Security detection and measures in iOS
    • The iOS security architecture is comprised of specific features for ensuring trust—secure boot chain, secure enclave, app data protection and data classes. These security measures are covered with attention to privacy mechanisms for service through iMessage and iCloud; network oversight through Bluetooth and AirDrop are also covered.
  • Trends in mobile device management (MDM)
    • Device requirements for MDM are reviewed in detail: configuration and hardening, encryption, backup and recovery, remote wipe, patch management, enterprise VPN and proxy. Additionally, measures to monitor, enforce and report on enterprise device activity are covered using case studies from MobileIron, AirWatch and Enterproid.

Instructors

  • Dan Boneh Professor of Computer Science, Stanford University
  • Neil Daswani Chief Information Security Officer, LifeLock
  • John Mitchell Professor of Computer Science, Stanford University

Recommended

We recommend you have the equivalent of a BS in Computer Science and a background in security.

We highly recommend that you take this course, Software Security Foundations (XACS101) as the 1st course within the Stanford ACS certificate program. It provides the fundamentals necessary for the subsequent courses in the program.

Tuition

  • $495 per online course
  • $75 one-time document fee

On Demand Webinars

View our free on-demand webinars to get a preview of the courses we have to offer.

Questions

Please contact

650.741.1547

scpd-acs-mail@stanford.edu

Certificates and Degrees RDP Removing Degrees and Certificates

Course Access   

60 day access to the online course starts upon payment.

Course Materials 

Course materials are available for download from the online videos page to allow for printing and review.

Final Exam: 

Online participants are asked to complete a final exam at the end of each course to maintain the integrity of the program. A digital record of completion will be emailed to participants when they pass the exam.

Course Evaluation: 

It is required that participants complete the course evaluation once they have passed the final exam.

Mobile Security

View All Courses

Access learning material from upcoming, self-study, and completed courses...

Date: 
Monday, August 8, 2016
Go to Course

About this course:

Algorithms are the heart of computer science, and the subject has countless practical applications as well as intellectual depth. This course is an introduction to algorithms for learners with at least a little programming experience. The course is rigorous but emphasizes the big picture and conceptual understanding over low-level implementation and mathematical details. After completing this course, you will have a greater mastery of algorithms than almost anyone without a graduate degree in the subject.

Specific topics in Part 2 include: greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes), dynamic programming (knapsack, sequence alignment, optimal search trees, shortest paths), NP-completeness and what it means for the algorithm designer, analysis of heuristics, local search. About the instructor: Tim Roughgarden has been a professor in the Computer Science Department at Stanford University since 2004. He has taught and published extensively on the subject of algorithms and their applications.

Who is this class for: Learners with at least a little bit of programming experience who want to learn the essentials of algorithms. In a University computer science curriculum, this course is typically taken in the third year.

Instructor(s): 
Tim Roughgarden
Algorithms: Design and Analysis, Part I  Course Image

View All Courses

Access learning material from upcoming, self-study, and completed courses...

Date: 
Monday, August 8, 2016
Go to Course

About this Course

Algorithms are the heart of computer science, and the subject has countless practical applications as well as intellectual depth. This course is an introduction to algorithms for learners with at least a little programming experience. The course is rigorous but emphasizes the big picture and conceptual understanding over low-level implementation and mathematical details. After completing this course, you will be well-positioned to ace your technical interviews and speak fluently about algorithms with other programmers and computer scientists. Specific topics include: "Big-oh" notation, sorting and searching, divide and conquer (master method, integer and matrix multiplication, closest pair), randomized algorithms (QuickSort, contraction algorithm for min cuts), data structures (heaps, balanced search trees, hash tables, bloom filters), graph primitives (applications of BFS and DFS, connectivity, shortest paths). About the instructor: Tim Roughgarden has been a professor in the Computer Science Department at Stanford University since 2004. He has taught and published extensively on the subject of algorithms and their applications.

Syllabus

Week 1

  1. I. INTRODUCTION (Week 1)
  2. II. ASYMPTOTIC ANALYSIS (Week 1)
  3. III. DIVIDE & CONQUER ALGORITHMS (Week 1)
  4. Problem Set #1
  5. Programming Assignment #1
  • Quiz: Problem Set #1
  • Quiz: Programming Assignment #1

Week 2

  1. IV. THE MASTER METHOD (Week 2)
  2. V. QUICKSORT - ALGORITHM (Week 2)
  3. VI. QUICKSORT - ANALYSIS (Week 2)
  4. VII. PROBABILITY REVIEW (Week 2)
  5. Problem Set #2
  6. Programming Assignment #2
  • Quiz: Problem Set #2
  • Quiz: Programming Question #2

Week 3

  1. VIII. LINEAR-TIME SELECTION (Week 3)
  2. IX. GRAPHS AND THE CONTRACTION ALGORITHM (Week 3)
  3. Problem Set #3
  4. Programming Assignment #3
  • Quiz: Problem Set #3
  • Quiz: Programming Assignment #3

Week 4

  1. X. GRAPH SEARCH AND CONNECTIVITY (Week 4)
  2. Problem Set #4
  3. Programming Assignment #4
  • Quiz: Problem Set #4
  • Quiz: Programming Assignment #4

Week 5

  1. XI. DIJKSTRA'S SHORTEST-PATH ALGORITHM (Week 5)
  2. XII. HEAPS (Week 5)
  3. XIII. BALANCED BINARY SEARCH TREES (Week 5)
  4. Problem Set #5
  5. Programming Assignment #5
  • Quiz: Problem Set #5
  • Quiz: Programming Assignment #5

Week 6

  1. XIV. HASHING: THE BASICS (Week 6)
  2. XV. UNIVERSAL HASHING (Week 6)
  3. XV. BLOOM FILTERS (Week 6)
  4. PREVIEW OF PART 2
  5. Problem Set #6
  6. Programming Assignment #6
  • Quiz: Problem Set #6
  • Quiz: Programming Assignment #6

Week 7

  1. Final Exam
  • Quiz: Final Exam
Instructor(s): 
Tim Roughgarden
Algorithms: Design and Analysis, Part I  Course Image

View All Courses

Access learning material from upcoming, self-study, and completed courses...

Date: 
Monday, June 13, 2016
Go to Course

About this course:

Cryptography is an indispensable tool for protecting information in computer systems. In this course you will learn the inner workings of cryptographic systems and how to correctly use them in real-world applications. The course begins with a detailed discussion of how two parties who have a shared secret key can communicate securely when a powerful adversary eavesdrops and tampers with traffic. We will examine many deployed protocols and analyze mistakes in existing systems. The second half of the course discusses public-key techniques that let two parties generate a shared secret key. Throughout the course participants will be exposed to many exciting open problems in the field and work on fun (optional) programming projects. In a second course (Crypto II) we will cover more advanced cryptographic tasks such as zero-knowledge, privacy mechanisms, and other forms of encryption.

Syllabus

WEEK 1

Course overview and stream ciphers
Section 1: what is cryptography about?
Section 2: crash course in discrete probability
Stream Ciphers 1: the one-time pad and stream ciphers
Stream Ciphers 2: attacks and common mistakes
Stream Ciphers 3: real-world examples
Stream Ciphers 4: what is a secure cipher?
Week 1 Review Questions and Programming Project
Quiz: Week 1 - Problem Set

WEEK 2

Block Ciphers
Block Ciphers 1: overview
Block Ciphers 2: The Data Encryption Standard
Block Ciphers 3: AES and other constructions
How to Use Block Ciphers 1: one-time key
How to Use Block Ciphers 2: many-time key
Week 2 Review Questions and Programming Project
Quiz: Week 2 - Problem Set

WEEK 3

Message Integrity
Message Integrity 1: definitions
Message Integrity 2: constructions
Message Integrity 3: more constructions
Collision Resistance 1: what is a collision resistant function?
Collision Resistance 2: constructions
HMAC: a MAC from a hash function
Week 3 Review Questions and Programming Project
Quiz: Week 3 - Problem Set

WEEK 4

Authenticated Encryption
Authenticated Encryption 1: why is it so important?
Authenticated Encryption 2: standard constructions
Authenticated Encryption 3: pitfalls
Odds and Ends 1: how to derive keys
Odds and Ends 2: searching on encrypted data
Odds and Ends 3: disk encryption and creditcard encryption
Week 4 Review Questions and Programming Project
Quiz: Week 4 - Problem Set

WEEK 5

Basic Key Exchange
Basic Key Exchange 1: problem statement
Basic Key Exchange 2: two solutions
Number Theory 1: modular arithmetic
Number Theory 2: easy and hard problems
Week 5 Review Questions and Programming Project
Quiz: Week 5 - Problem Set

WEEK 6

Public-Key Encryption
Public Key Encryption from Trapdoor Permutations
Public Key Encryption from Trapdoor Permutations: RSA
Public Key Encryption from Trapdoor Permutations: attacks
Public Key Encryption From Diffie-Hellman: ElGamal
Public Key Encryption: summary
Week 6 Review Questions and Programming Project
Quiz: Week 6 - Problem Set

WEEK 7

Final exam
Final exam covering the entire course
Quiz: Final Exam
Instructor(s): 
Dan Boneh
Cryptography I

View All Courses

Access learning material from upcoming, self-study, and completed courses...

Date: 
Monday, October 24, 2016
Go to Course

Starts online October 24, 2016

At Stanford: December 6-9, 2016

Accepting Applications:

February 15, 2016 – October 23, 2016

Application and Fee Apply.

This course is offered through Worldview Stanford. Worldview Stanford is an innovative Stanford University initiative that creates interdisciplinary learning experiences for professionals to prepare them for the strategic challenges ahead.

COURSE DESCRIPTION

What's driving big data? We increasingly live our social, economic, and intellectual lives in the digital realm, enabled by new tools and technologies. These activities generate massive data sets, which in turn refine the tools. How will this co-evolution of technology and data reshape society more broadly?

Creating new knowledge and value: Big data changes what can be known about the world, transforming science, industries, and culture in the process. It reveals solutions to social problems and allows products and services to be even more targeted. Where will big data create the greatest sources of new understanding and new value?

Shifting power, security, and privacy: The promise of big data is accompanied by perils—in terms of control, privacy, security, reputation, and social and economic disruption. How will we manage these tradeoffs individually and in business, government, and civil society?

FEATURED EXPERTS

Learn from a variety of sources and Stanford experts, including:

Lucy Bernholz, philanthropy, technology, and policy scholar at the Center on Philanthropy and Civil Society

Sharad Goel, computational scientist studying politics, media, and social networks

Jennifer Granick, attorney and director of Civil Liberties at the Stanford Center for Internet and Society

Learn from a variety of sources and Stanford experts, including:

Michal Kosinsk, psychologist and computational scientist studying online and organizational behavior at Stanford Graduate School of Business

Margaret Levi, political scientist specializing in governance, trust, and legitimacy

John Mitchell, computer scientist, cybersecurity expert, and Vice Provost of Teaching and Learning

  • Synthesize expert opinions from researchers and Silicon Valley innovators to understand big data's opportunities and challenges. Balance the tradeoffs between individual privacy and security and social value.
  • Apply strategies for leveraging the potential of big data while managing potential vulnerabilities, both personally and organizationally.
Big Data

View All Courses

Access learning material from upcoming, self-study, and completed courses...

Go to Course

Coming in March '17

COURSE DESCRIPTION

Max is a powerful platform that accommodates and connects a wide variety of tools for sound, graphics, music and interactivity using a flexible patching and programming environment. Max allows most computer users to write a simple meaningful program within a few minutes, even with limited programming knowledge. But to do something more substantial it's necessary to approach Max as an actual programming language, by taking advantage of its various mechanisms for abstracting program elements into scalable, reusable components that can be combined in increasingly powerful ways.

This class will not cover every single capability of the language, but instead will focus on key concepts and mechanisms that will allow for tremendous new freedom and possibilities in Max. The class will touch upon:

• sound and movie playback
• sound synthesis
• sound and video effects processing
• algorithmic composition
• cross-modal mappings (e.g., video affecting audio and vice versa)
• interactive control (e.g., from QWERTY keyboard, mouse, USB devices, Open Sound Control)

Max programming, like most interesting topics, has deep aspects and shallow aspects. This course will largely focus on the deep aspects: principles, concepts, techniques, and theory. If you understand these underlying aspects, your capacity to create in Max will deepen exponentially.

At the same time, this is not just a theory class. You will also create your own projects using Max. This course will teach the minimum you need to start working on assignments, but mostly I will teach you how to learn or look up the shallow knowledge on your own using Max’s built-in documentation, the Internet, and the Kadenze course forum, as well as how to program your own tests that answer specific questions or reveal potential bugs. Working in this way, you will also develop essential skills and habits that will develop confidence and self-sufficiency, and serve you in the future.

Instructors

Matthew Wright, Technical Director of CCRMA
Dr. Matthew Wright is a media systems designer, improvising composer/musician, and computer music researcher.  He was the Musical Systems Designer at U.C. Berkeley's Center for New Music and Audio Technology (CNMAT) from 1993-2008, and is known for his promotion of the Sound Description Interchange Format (SDIF) and Open Sound Control (OSC) standards, as well as his work with real-time mapping of musical gestures to sound synthesis.  His dissertation at Stanford's Center for Computer Research in Music and Acoustics (CCRMA) concerned computer modeling of the perception of musical rhythm: "The Shape of an Instant: Measuring and Modeling Perceptual Attack Time with Probability Density Functions."  He spent one year as a visiting research fellow at the University of Victoria on the theme of "Computational Ethnomusicology" developing tools for analysis and visualization of detailed pitch and timing information from musical recordings.  He was the Research Director of UC Santa Barbara's Center for Research in Electronic Arts and Technology (CREATE) for eight years, where he taught classes, advised students, founded and directed the CREATE Ensemble dedicated to research and musical creation with technology in a live performance context, as well as being Principal Development Engineer for the AlloSphere, a 3-story full-surround immersive audiovisual instrument for scientific and artistic research. As a musician, he plays a variety of traditional plucked lutes, Afro-Brazilian percussion, and computer-based instruments of his own design, in both traditional music contexts and experimental new works.

Guest Lecturer

David Zicarelli
David Zicarelli is the founder and CEO of Cycling '74, a software company that maintains and develops the MAX graphical programming environment. The company introduced Max extensions for audio (MSP) in 1997 and video (Jitter) in 2001. Before starting Cycling '74, Zicarelli worked on Max and other interactive music software at Opcode Systems, Intelligent Music, and IRCAM, and earned a doctorate from the Stanford Program in Hearing and Speech Sciences.

Programming Max: Structuring Interactive Software for Digital Arts from KadenzeOfficial on Vimeo.

Programming Max Kadenze

View All Courses

Access learning material from upcoming, self-study, and completed courses...

Date: 
Thursday, November 19, 2015
Go to Course

[[{"fid":"55161","view_mode":"teaser","fields":{"format":"teaser"},"type":"media","link_text":null,"attributes":{"alt":"Online Jamming And Concert Technology","height":"390","width":"640","class":"panopoly-image-video media-element file-teaser"}}]]

Course Description

Today's vast amount of streaming and video conferencing on the Internet lacks one aspect of musical fun and that's what this course is about: high-quality, near-synchronous musical collaboration. Under the right conditions, the Internet can be used for ultra-low-latency, uncompressed sound transmission. The course teaches open-source (free) techniques for setting up city-to-city studio-to-studio audio links. Distributed rehearsing, production and split ensemble concerts are the goal. Setting up such links and debugging them requires knowledge of network protocols, network audio issues and some ear training.

Course Schedule

Course runs through November 3, 2015 - February 2, 2016

Session 1Basics And Setup 
Basics: Network protocols, audio signals + soundcards and network audio.
Session 2Jacktrip Application + Connection 
Things that go wrong with Jacktrip: Network & Audio. P2P Sessions and Multi-site setups.
Session 3Debugging 
Debug examples of typical problems.
Session 4Polish And Practice 
Polish techniques and spawn more practice sessions.
Session 5Future 
Future of the art and practice of network audio, alternative platforms for network audio.

Instructor

Chris Chafe

    Chris Chafe is a composer, improvisor and cellist, developing much of his music alongside computer-based research. He is Director of Stanford University's Center for Computer Research in Music and Acoustics (CCRMA). At IRCAM (Paris) and The Banff Centre (Alberta), he pursued methods for digital synthesis, music performance and real-time internet collaboration. CCRMA's SoundWIRE project involves live concertizing with musicians the world over. Online collaboration software including jacktrip and research into latency factors continue to evolve. An active performer either on the net or physically present, his music reaches audiences in dozens of countries and sometimes at novel venues. A simultaneous five-country concert was hosted at the United Nations in 2009. Chafe's works are available from Centaur Records and various online media. Gallery and museum music installations are into their second decade with "musifications" resulting from collaborations with artists, scientists and MD's. Recent work includes the Brain Stethoscope project, PolarTide for the 2013 Venice Biennale, Tomato Quintet for the transLife:media Festival at the National Art Museum of China and Sun Shot played by the horns of large ships in the port of St. Johns, Newfoundland.

    Requirements

    Equipment: Computer (Mac or Linux) with installation privileges 

    Software: ChucK, Jacktrip

    Online Jamming and Concert Technology

    View All Courses

    Access learning material from upcoming, self-study, and completed courses...

    Date: 
    Tuesday, November 3, 2015 to Tuesday, February 2, 2016
    Go to Course

    [[{"fid":"55161","view_mode":"teaser","fields":{"format":"teaser"},"type":"media","link_text":null,"attributes":{"alt":"Online Jamming And Concert Technology","height":"390","width":"640","class":"panopoly-image-video media-element file-teaser"}}]]

    Course Description

    Today's vast amount of streaming and video conferencing on the Internet lacks one aspect of musical fun and that's what this course is about: high-quality, near-synchronous musical collaboration. Under the right conditions, the Internet can be used for ultra-low-latency, uncompressed sound transmission. The course teaches open-source (free) techniques for setting up city-to-city studio-to-studio audio links. Distributed rehearsing, production and split ensemble concerts are the goal. Setting up such links and debugging them requires knowledge of network protocols, network audio issues and some ear training.

    Course Schedule

    Course runs through November 3, 2015 - February 2, 2016

    Session 1Basics And Setup 
    Basics: Network protocols, audio signals + soundcards and network audio.
    Session 2Jacktrip Application + Connection 
    Things that go wrong with Jacktrip: Network & Audio. P2P Sessions and Multi-site setups.
    Session 3Debugging 
    Debug examples of typical problems.
    Session 4Polish And Practice 
    Polish techniques and spawn more practice sessions.
    Session 5Future 
    Future of the art and practice of network audio, alternative platforms for network audio.

    Instructor

    Chris Chafe

      Chris Chafe is a composer, improvisor and cellist, developing much of his music alongside computer-based research. He is Director of Stanford University's Center for Computer Research in Music and Acoustics (CCRMA). At IRCAM (Paris) and The Banff Centre (Alberta), he pursued methods for digital synthesis, music performance and real-time internet collaboration. CCRMA's SoundWIRE project involves live concertizing with musicians the world over. Online collaboration software including jacktrip and research into latency factors continue to evolve. An active performer either on the net or physically present, his music reaches audiences in dozens of countries and sometimes at novel venues. A simultaneous five-country concert was hosted at the United Nations in 2009. Chafe's works are available from Centaur Records and various online media. Gallery and museum music installations are into their second decade with "musifications" resulting from collaborations with artists, scientists and MD's. Recent work includes the Brain Stethoscope project, PolarTide for the 2013 Venice Biennale, Tomato Quintet for the transLife:media Festival at the National Art Museum of China and Sun Shot played by the horns of large ships in the port of St. Johns, Newfoundland.

      Requirements

      Equipment: Computer (Mac or Linux) with installation privileges 

      Software: ChucK, Jacktrip

      Online Jamming and Concert Technology

      View All Courses

      Access learning material from upcoming, self-study, and completed courses...

      Go to Course
      Fee and Application.
      This course is offered through the Stanford Center for Professional Development as part of the Stanford Advanced Computer Security Certificate.
      Applications may be submitted online at any time. Sample Application.

       

      [[{"fid":"59246","view_mode":"default","fields":{"format":"default"},"type":"media","link_text":null,"attributes":{"alt":"Stanford Online Course - Network Security","height":"390","width":"640","class":"panopoly-image-video media-element file-default"}}]]

      OVERVIEW

      Network security is one of the most important computer science issues today. It helps businesses meet mandatory compliance regulations, protect customer data, and reduce the risk of legal action. Without a secure infrastructure and the expertise to remedy an issue, critical performance functions for users and computer programs may not be executable.

      This course covers the latest practices for building reliable and secure code to defend against various attack techniques, harmful viruses and threats.

      You Will Learn

      • Application security measures
      • How to identify operating system holes
      • The important interplay of privacy and digital rights management
      • Trends in malware, privacy and security for mobile devices
      • Ways to prevent network attacks and gaps in security policy

      RESOURCES

      Sample Course Syllabus: Network Security

      RECOMMENDED

      An equivalent of a BS in Computer Science and a background in security.
      It is also recommended that you start the certificate program with XACS101- Software Security Foundations. It provides fundamental knowledge needed for the subsequent curriculum.

      TUITION

      • $495 per online course
      • $75 one-time document fee

      QUESTIONS

      Call 650.741.1547 
or email scpd-acs-mail@stanford.edu


      CERTIFICATES 

      Stanford Advanced Computer Security Certificate

      Instructor(s): 
      Dan Boneh
      John Mitchell
      Network Security

      View All Courses

      Access learning material from upcoming, self-study, and completed courses...

      Date: 
      Saturday, March 28, 2015
      Go to Course

      This course is offered through Stanford Continuing Studies.

      Course Description

      More and more people are starting to tap into the barely touched opportunities of data. Supporting marketing campaigns with more market data, understanding and preventing product failures with real-time measures, retaining customers with detailed behavior monitoring, or fighting fraud with real-time analysis of hundreds of millions of transactions are among the many examples that demonstrate how pervasive data has become across all lines of business. After years of buzz and mixed results, data technology, management techniques, and processes have gained maturity. Data is now more readily accessible to everyone. In this online course, students will learn how to engage with data and discover concrete and actionable business intelligence techniques to gain immediate control of data and deliver accurate insights, manage change to drive project acceptance, and design lean and sustainable processes. The course will also include detailed case studies and feature expert guest speakers to provide invaluable and fascinating field experience. 

      Application and fee apply.

      Tame Big Data

      View All Courses

      Access learning material from upcoming, self-study, and completed courses...

      Pages

      Subscribe to RSS - Engineering & Computer Science