All Projects → ECB-Bikaner → google-guide-to-technical-development

ECB-Bikaner / google-guide-to-technical-development

Licence: MIT license
This guide provides tips and resources to help you develop your technical skills (academically and non-academically) through self-paced, hands-on learning. This guide is intended for Computer Science students seeking an internship or university grad role at Google.

Projects that are alternatives of or similar to google-guide-to-technical-development

resources
Бесплатный образовательный контент, созданный и отобранный профессионалами
Stars: ✭ 20 (-77.78%)
Mutual labels:  education
Anubis
Distributed LMS for automating Computing Science Courses From NYU
Stars: ✭ 184 (+104.44%)
Mutual labels:  education
30-seconds-of-csharp
Short C# code snippets for all your development needs
Stars: ✭ 132 (+46.67%)
Mutual labels:  education
rapid-router
A Blockly and python based educational game aimed at students age 5-14.
Stars: ✭ 50 (-44.44%)
Mutual labels:  education
zen-signals
☯ The simplest signal library possible
Stars: ✭ 41 (-54.44%)
Mutual labels:  education
snake
Basic Snake Game in TypeScript
Stars: ✭ 25 (-72.22%)
Mutual labels:  education
NetsBlox
a networked visual programming language based on Snap!
Stars: ✭ 59 (-34.44%)
Mutual labels:  education
Awesome CV
Curated educational list for computer vision
Stars: ✭ 68 (-24.44%)
Mutual labels:  education
schulcloud-client
HPI Schul-Cloud Client
Stars: ✭ 31 (-65.56%)
Mutual labels:  education
xlines
X lines of Python
Stars: ✭ 100 (+11.11%)
Mutual labels:  education
curriculum-foundation
iSAQB Curriculum for the CPSA - Foundation Level. This repository contains copyrighted work.
Stars: ✭ 35 (-61.11%)
Mutual labels:  education
mcu-curriculum
Minecraft U Curriculum
Stars: ✭ 48 (-46.67%)
Mutual labels:  education
awesome-learning-collections
✨ A curated list of awesome learning collections on various topics.
Stars: ✭ 76 (-15.56%)
Mutual labels:  education
OpenCircuits
A free, open source, online digital circuit/logic designer.
Stars: ✭ 140 (+55.56%)
Mutual labels:  education
teaching-app-dev-swift-archive
DEPRECATED. Teaching App Development with Swift materials, bundled up as a single archive.
Stars: ✭ 14 (-84.44%)
Mutual labels:  education
data-vis-labs-2018
Principles & Practice of Data Visualization, CS631 Spring 2018
Stars: ✭ 34 (-62.22%)
Mutual labels:  education
diwa
A Deliberately Insecure Web Application
Stars: ✭ 32 (-64.44%)
Mutual labels:  education
physics-is-beautiful
Files for Physics Is Beautiful Website
Stars: ✭ 12 (-86.67%)
Mutual labels:  education
project-omega
A collection of non-trivial coding problems to improve software engineering skills.
Stars: ✭ 15 (-83.33%)
Mutual labels:  education
Spyware
Python-based spyware for Windows that logs the foreground window activites, keyboard inputs. Furthermore it is able to take screenshots and and run shell commands in the background.
Stars: ✭ 31 (-65.56%)
Mutual labels:  education

Technical Development Guide

This guide provides tips and resources to help you develop your technical skills (academically and non-academically) through self-paced, hands-on learning.

This guide is intended for Computer Science students seeking an internship or university grad role at Google.

What this guide is for

  • You can use this guide to determine which courses to take, but be sure stay on track with your courses required for your major to graduate.
  • We encourage you to learn more outside of this guide. The more you know, the better!
  • The online resources we’ve cited aren’t meant to replace courses available at your university, but they may help supplement your education or provide an introduction to a topic.
  • The information and recommendations in this guide were gathered through our work with students and candidates in the field. It is a work-in-progress, a living document, so be sure to periodically check back for updates.

Note: Following the recommendations in the guide does not guarantee a job at Google.

How to use this guide

  • The guide lists topics and resources in a rough progression, from possible places to begin if you have little or no technical skills, to resources for those with increasing skills, to ways to gain exposure in the Computer Sciences field.
  • You can use any of the resources you want, in any order.

Recommendations and Resources

Take an “Introduction to CS” course Focus on basic coding instructions.

Online resources:

Learn to code in (at least) one object-oriented programming language (C++, Java®, Python®) Online resources for beginning programmers:

Online resources for more experienced programmers:

Learn other programming languages Add to your repertoire:

  • JavaScript®
  • CSS & HTML
  • Ruby®
  • PHP®
  • Perl®
  • Shell® script
  • Lisp®
  • Scheme®

Online resources:

Test your code Learn how to catch bugs, create tests, and break your software.

Online resources:

Develop logical reasoning and knowledge of discrete math Online resources:

Develop a strong understanding of algorithms and data structures Learn about fundamental data types (stack, queues, and bags), sorting algorithms (quicksort, mergesort, heapsort), data structures (binary search trees, red-black trees, hash tables), and Big O.

Online resources:

Develop a strong knowledge of operating systems Online resources:

Computer Science 162, UC Berkeley, YouTube

Learn artificial intelligence and machine learning Online resources:

Learn Android development Online resources:

Learn web development Online resources:

Learn other developer skills Online resources:

Learn cryptography Online resources:

Work on projects outside of the classroom Create and maintain a website, build your own server, or build a robot.

Online resources:

UCSD, Coursera

Work on a small piece of a large system (codebase), read and understand existing code, track down documentation, and debug GitHub is a great way to read other people’s code or contribute to a project.

Online resources:

Work on projects with other programmers This will help you improve your ability to work well in a team and enable you to learn from others.

Practice your algorithmic knowledge and coding skills Practice your algorithmic knowledge through coding competitions like CodeJam or ACM’s International Collegiate Programming Contest.

Online resources:

Become a teaching assistant Helping to teach other students will help enhance your knowledge of the subject matter.

Gain internship experience in software engineering Find Google’s internships in Engineering and Technology on our Students site.

Online resource to prepare to interview for software engineering positions, including for internships:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].