Frequently asked questions
I have a question about
-
How it works
We believe the key to a successful CS education is practice. So we've created our material as a 'flipped classroom.'
In a flipped classroom, what would have traditionally been lecture becomes the independent review or homework, and what would have been a homework assignment or practice problem set is completed together during classroom time.
Our material is organized into technical units. Each unit has two components — groundwork and a workshop. The groundwork consists primarily of concept reviews, reading and practice problems in order to prepare and maximize the amount of time building the activities in the workshop sessions. The unit workshops challenge students to build an Android game or activity based on the computer science concepts covered in the groundwork - which is why the groundwork is so important! Each unit takes 6 hours on average. The workshops will also contain extensions; students can challenge themselves to complete at least one, further customizing their work.
Thus, workshops shouldn't feel like a traditional lecture - we expect participants to spend the majority of the workshop portion programming, debugging and collaborating. Workshops are modeled to feel like a professional coding environment - working in small groups to build or implement something.
We use the flipped classroom model in Applied CS Skills because we believe it's important to get practical, hands-on experience with the important concepts reviewed in CS coursework.
-
Learning pathways
Applied CS Skills has lots of activities at your disposal, whether you're looking to practice a particular subject from your CS course or get 30+ hours of practical, project-based coding experience.
If you're looking to enhance particular skills or want to explore our activities without committing to a complete track, you can select one unit to help practice your understanding of specific data structures, Android and/or algorithms skills. Review our learning objectives and activities to pick a unit that sounds like fun and a good fit for you or your students. All of our units are organized by level of difficulty.
For those looking to participate in or run a longer program, we have designed learning tracks, each consisting of six technical units (five units plus our Code Sprint). Each track has a different level of difficulty. Similar to picking a unit, pick a track that will work best for you and/or your students skill level. Similarly, reviewing the learning objectives for each unit will help to explain exactly what each unit's groundwork and workshop covers to help you make your decision. If you don't know where to start, try with the first level!
-
Independent learning
Our materials are open and free to use. Anyone is welcome to study or use the materials independently - students, industry professionals, faculty and more.
-
What should I already know before participating in Applied CS Skills?
We suggest having already taken a university-level data structures and algorithms class before participating in the program. While we have short videos and groundwork to review concepts, our intention is not to teach the concepts from scratch, but rather, provide a hands-on project-based environment where those concepts can be applied. We also suggest familiarity with Java and having completed programming projects as a part of coursework prior.
-
What are the specific aspects of Data Structures and Algorithms coursework that I should be familiar with?
Check out our learning objectives and Applied CS Skills YouTube channel to see which concepts you will be implementing in our Android activities.
-
How strict are the prerequisites for the student participants?
Students without the mentioned prerequisites will struggle to follow the pace of the course but are still welcome to join if you commit to the necessary self-study time to get up to speed.
-
What are the required materials to participate?
- A laptop
- A gmail account
- (Preferred) Any Android mobile device (phone or tablet) running Gingerbread or a more recent version of the Android OS
-
What if I don't have an Android device?
Not every student needs a device, as long as you are able to share or partner with another small group. Additionally, you can use the Android Studio Emulator.
-
What are the specific aspects of Java programming that I should be familiar with?
Basics: Creating Objects, Defining a Class, Arrays, "this", Exceptions, String manipulations, Inheritance
Important built-in classes: String (tutorial and reference), Random (example), ArrayList (reference), HashMap (tutorial)
Important built-in classes: Interfaces (tutorial), Using Generics (First four sections of tutorial)
-
What does the unit groundwork consist of, and how long does it take?
Students are expected to complete (up to) 30 minutes of groundwork prior to the unit workshop. This pre work consists of reviewing CS concepts, reading and occasional practice problems.
-
What does the unit workshop consist of, and how long does it take?
The unit workshop sessions consist of one or two larger programming exercises, where students will be building Android games and activities. The learning environment aims to parallel a professional engineering environment closely - working collaboratively in small groups to build, troubleshoot and launch products. Workshops typically last between 4-6 hours and have optional extensions for extra challenges!
-
What resources does Google provide for universities and student participants?
We will provide curriculum and technical training materials (including facilitation guides, video tutorials and surveys/assessments) for facilitators to host workshops and coding sprints.
-
Can I participate in this program independently?
Anyone is welcome to use or share our materials with fellow university students independently.
-
How can I get involved in a program at my university or in my neighborhood?
As of Spring 2017, the Applied CS Skills program can be brought to your campus in one of two ways. (1) Google managing the program at your location directly, under invitation-only, or (2) facilitators launching the program in your location independently.
-
Can I start my own program?
Yes! Check out our For Facilitators page to learn more about prerequisites and steps to start a program.
-
What are the requirements to be a facilitator?
- Passion for CS education and outreach
- Completed university level Data Structures and Algorithms coursework
- Familiarity with Java (~1 year)
- Comfortable programming in Android Studio
- (Preferred) Teaching, tutoring, mentoring or TA experience in CS subjects
-
What are the general facilitator responsibilities?
- Managing all relevant logistics for setting up the program, including finding space and marketing to students
- Inform students about the self study materials per unit, progress expected and workshop logistics
- Manage ongoing program communications with participants
- Prepare each of the workshop sessions to run with students via workshop guide and materials provided
- Deliver specific feedback to students, help students work through challenges and have fun whilst doing all the previous!
-
What should facilitators do in order to prepare for hosting program workshops?
We encourage facilitators to review our facilitator guide materials, workshop content and watch our technical unit tutorials prior to arriving in the classroom. This should take around 1-2 hours.
-
What if I do not know the answer to a question?
If the question or challenge is purely technical, seek advice through Stack Overflow or Googling the answer first - it'll get you a long way! Next, try asking around you to see if anyone else has faced a similar challenge or has a suggestion - collaborative troubleshooting is your best friend. Lastly, we encourage you and participants to post questions to our Facilitator G+ Community.
-
How do I find students to participate in my program/course?
- Partner with the CS department chairs or faculty to reach out to students
- Send an email to all CS or discipline-related students making them aware of this opportunity (given approval from the department)
- Hang up posters in your campus to gather student attention - See posters here
- Contact on-campus related clubs/organisations: programming club, maths clubs, etc.
-
How many students should be in a workshop?
Enough for work to be done in small groups. We suggest no more than 40 students in a workshop, and that students work in small groups of 2-3.
-
What are some of the specific responsibilities of the Facilitator during the workshop?
Facilitators generally support the program with logistics and provide students with general directions and troubleshooting support during the workshops. They should make sure to arrive early to the workshops to set up the room, introduce themselves and the workshop session (using the facilitator guide). Thereafter, facilitators circulate the classroom to help students with the exercises, encourage breaks (when needed) and close out the workshop. If there are any reminders around additional upcoming work, they should manage those communications, written or verbal.
-
I'm faculty at a university. Can I use Applied CS Skills in my classroom?
Yes. All of our content is Creative Commons licensed and starter code is Apache2 licensed. It is free and available to use and customize.
-
Does anything need to be set up before starting a program?
You will need to set up Android Studio before starting your first unit. We've provided brief instructions in our course materials, but you can also reference the Android Studio website for troubleshooting.
-
What sort of space is needed for an Applied CS Skills workshop?
The most important factor is enough space for students to code and learn comfortably. Workshops do not need to be in a computer lab, as students can bring their own devices. There should be strong and reliable wireless access to the Internet and enough power outlets/strips for students to plug-in. A projector or whiteboard is also a plus!
-
What does the schedule look like for Applied CS Skills tracks?
Facilitators can adopt any of these workshop formats based on student, university, or personal schedules. Here are some we have seen run effectively in the past:
- 6/7 week format: 1 Unit/Week, covering each unit of the course in 1 week and optional code sprint in last week of the workshop.
- 5 days format: 1 Unit/Day, covering each unit in a single day and optional code sprint on the last day of the workshop.
- 3 weekend format: 2 Units/weekend, covering 2 units each weekend, that results in 3 week workshop and optional code sprint in last Sunday of workshop.
Note that these are just suggested delivery formats for workshops. Content can be adapted to run in the format that works best to accommodate student and university schedules.
-
When should the course run?
Students and/or facilitators can choose whichever dates are most suitable for your or your university's academic calendar to run this course.
-
I cannot access the course (g.co/AppliedCSSkills), what should I do?
- If you're accessing from the university's intranet, check if you are able to access other resources outside their intranet (university firewall may block or only allow access to certain sites only)
- Check if any of your fellow students from the same university are able to access the course
- Double-check if you are using the right email address (the one delivered for registration, Google account) to access the course. Any other email will not have access