Case study CS program suggestions for one university 2017

Purpose: Sharing information that benefited one university

Google is frequently asked to provide an industry/employer perspective on what students need to know to be career-ready. This slide deck represents the thoughts of a Google engineer who is also an adjunct faculty member in CS at a major university. He created this deck for the CS department at another institution, and they found the information helpful. Google recognizes that CS programs and students have different needs and that faculty are the best judges of what will most benefit their students and their institutions. We hope some of this information will be useful to you.

Examples of skill areas that contribute to students’ success in industry ●

Problem-solving large, complex challenges; for example: ■ ■ ■ ■ ■ ■

Experience and comfort working with very large pieces of code Designing solutions before starting to code Generating multiple solutions and choosing the most suitable one Articulating the logic behind design and coding decisions Choosing appropriate concepts to apply to open-ended problems Solving problems with ambiguous and/or incomplete requirements; and effectively filtering and using the most relevant information about a problem



Working in existing code bases, including reading and understanding existing code, and being able to test and debug code you’ve received or added



Experience and comfort working with open source resources (for example, GitHub)

Categories of questions that might be asked in a technical interview



Coding ○ ○



Java/C++/Python Recursion

Basic probability Div/mod

Operating Systems Concepts ○ ○ ○

Threads and processes Memory management Filesystems and networking

Algorithms ○ ○ ○ ○

Math ○ ○







Sorting Searching Graphs Big-O analysis

Data Structures ○ ○ ○ ○ ○ ○

Lists Stacks and queues Trees and graphs Sets Hashes and maps Heaps

Possible areas of emphasis for freshman (1st) year



Minimum of one CS course and one core math course



Proficiency in an object-oriented programming language (e.g. Python/Java/C++)



Ability to write tests and debug



CS project outside of the classroom



Ability to read and understand existing code



Basic problem-solving; basic understanding of formal logic



Other important topics: Documentation, version control



Familiarity with using Github

Freshman (1st) year

Semester 1

Semester 2

Goal: Introduction to programming concepts

Goal: Comfortable with at least one language

● ● ●

Intro to Programming (Python or Java) General education courses Technical/Non-technical electives

Important topics/milestones: ● ●

Debugging and testing Commenting and documentation

● ● ●

Object-Oriented Programming (Java) General education courses Technical/Non-technical electives

Important topics/milestones: ● ●

API documentation (Javadocs) Version control (GitHub)

Possible areas of emphasis for sophomore (2nd) year



Understanding of algorithms, data structures and discrete structures



Proficiency in one or more programming languages (Python/Java/C++)



Demonstrated ability to investigate and solve problems



Ability to provide and receive code feedback



Other important topics: Time and space complexity, MIPS, simulation-based projects



CS projects (Examples: Independent projects, team projects in and out of class, hackathons, small role in a larger open source project at site like OpenHatch.org or GitHub)



Active participation in CS clubs or organizations

Sophomore (2nd) year

Semester 3

Semester 4

Goal: Understanding of data structures

Goal: Exposure to algorithmic complexity

● ● ●

Data Structures (Java) Discrete Structures General education / technical electives

Important topics/milestones: ● ●

Collaboration on open source site Team projects (e.g. hackathons)

● ● ●

Algorithms (Java) Computer Organization (Assembly) General education / technical electives

Important topics/milestones: ● ●

Time and space complexity MIPS Simulator-based projects

Possible areas of emphasis for junior (3rd) year



Demonstrated mastery in a programming language



Proficiency with algorithms and advanced data structures: lists, hash tables, trees, graphs, sorting algorithms, etc.



Demonstrated knowledge of algorithmic efficiency and design tradeoffs, threads and processes, concurrency and synchronization



Solid foundation in discrete mathematics



Internship experience in software engineering



Other valuable courses/topics: Linear Algebra, Computer Networking, Operating Systems, Database Systems

Junior (3rd) year

Semester 5

Semester 6

Goal: Advanced programming concepts

Goal: Knowledge of core systems

● ● ●

Linear Algebra/Num Analysis (Python) Computer Networking (Java or Python) General education / technical electives

Important topics/milestones: ● ●

Advanced data structures (graphs/trees) Filesystem and networking

● ● ●

Operating Systems (C or Java) Database Systems (Python or JS) General education / technical electives

Important topics/milestones: ● ●

Threads and processes Concurrency and synchronization

Possible areas of emphasis for senior (4th) year



Demonstrated mastery in a programming language



Demonstrated mastery in data structures and algorithms



Databases: locks, concurrency, RAID, APIs



Other topics: Computer security, big data, machine learning



Software engineering industry experience/internship, that includes application of SWE and CS concepts and work on real world project(s)



Update resume (May want to seek a formal review, e.g. from career center)



Interview prep, including advice/referrals from former interns, alums, etc.

Senior (4th) year

Semester 7

Semester 8

Goal: Industry preparedness

Goal: System design experience

● ● ●

Computer Security Software Engineering General education / technical electives

Important topics/milestones: ●

Technical interview prep

● ● ●

Big Data or ML course Senior Capstone General education / technical electives

Important topics/milestones: ●

Practical industry level project

Summary of sample courses by semester Semester 1 ●

Intro to Programming (Python/Java)

Semester 3 ● ●

Data Structures (Java) Discrete Structures

Semester 5 ● ●

Linear Algebra/Num Analysis (Python/R) Computer Networking (Python/Java)

Semester 7 ● ●

Computer Security Software Engineering

Semester 2 ●

Object-Oriented Programming (Java)

Semester 4 ● ●

Algorithms (Java) Computer Organization (Assembly)

Semester 6 ● ●

Operating Systems (C/Java) Database Systems (Python/JS)

Semester 8 ● ●

Big Data or ML course Senior Capstone

More Resources



Google’s Guide to Technical Development: g.co/techdevguide



Google for Education: https://edu.google.com/resources/computerscience/



Recommended textbook for interview prep: Cracking the Coding Interview



Google Cloud Platform Education Grants: https://cloud.google.com/edu/



Sites with practice problems: ○

LeetCode: https://leetcode.com/



Project Euler: https://projecteuler.net/



CodingBat: http://codingbat.com

Case study Services

Case study. CS program suggestions for one university. 2017 ... Working in existing code bases, including reading and understanding existing code, and being able to test and debug code you've ... Software engineering industry experience/internship, that includes application of SWE and. CS concepts and work on real ...

76KB Sizes 0 Downloads 47 Views

Recommend Documents

case study Services
account average with broad keywords ... Basic information provided by users early in the Teach For America application process was made available in the Google Tag Manager Data. Layer, captured in Google Analytics using Custom Dimensions, and then us

Twiddy case study - Services
Displaying the number of visitors in real-time showed others what the competition was for that week. The Real Time. API produced this sense of urgency and ... The Real. Time API was queried server-side, using the DotNet client library to access the d

case study
When Samsung Turkey launched the Galaxy S4 cell phone in early 2013, its marketing team ... wanted to use the company's existing video assets to build out a.

Case Study - googleusercontent.com
Business. With just over one million citizens, Calgary is one of Canada's largest cities. Like ... As part of the solution, the City also optimized all existing content on ... The GSA is linked to a content management system that is integrated with.

Rwanda Case Study - unaids
Aug 12, 2010 - 41,046 covered scaling up and integration of PMTCT s e rvices. , s y ndromic management of S. T. I and strengthenin g of linka ges to T. B services (GF. A. TM 2010). As a result 122 service po ints were supported in provid ing inte gra

PPC Case Study
$200+ million 2010 Net Sales. Campaign ... Increased average order value. +10.32% ... Business Solution: In order to achieve success in the highly competitive.

Google Case Study Template
using the API to merge in-house data. Case study | Google Analytics. Costco Uses Google Analytics To. Grow Costco Travel, Its Travel Booking Business.

Analytics Case Study
collect this data. ... Rules in Google Tag Manager to read data from the data layer and send this into Google Analytics. Throughout the site ... Analytical Skills.

Case Study: Ideeli
ideeli had no trust in their current asynchronous Google Analytics implementation across all devices: desktop site, mobile site, iOS app and Android app. They needed understanding of ... Marketing/Acq/Retention, Director of UX, and Director of Operat

case study: fxdd
Approach. The first step was for Delve Partners to re-implement UNIVERSAL Google Analytics (Phase 1), using Google's Open Measurement protocol to feed the downloadable client data into Google. Analytics (Phase 2). No outcomes yet, in the midst of doi

A YouTube Case Study
The campaign ran across multiple media, including TV. , Outdoor ... Best Game of the year Purchase Intent ... YouTube has a significant effect on key brand Measures ... Jorge Huguet, Chief Marketing Officer (CMO) Sony PlayStation Espana.

case study: fxdd
TRADES. Phase 1. Web Analytics. Phase 2. Google Analytics. Adobe Site Catalyst. Open Measurement Protocol. Others? 'Client' Analytics. Demo. Download.