Skip to content

Latest commit

 

History

History
44 lines (32 loc) · 4.11 KB

README.md

File metadata and controls

44 lines (32 loc) · 4.11 KB

This is ZS50

Course Documentation Home

Lecture Notes

Apex Challenges (aka psets)

ZS50 is a companion resource to the immensely popular online course CS50 from Harvard EDX, after which it is shamelessly named. This course is for developers and would-be-developers looking to sharpen their skills in general and, specifically, on the Salesforce platform.

The "z" stands for Zinovo. The "s" is up to you (science? Salesforce? sardines?). We just wanted it to rhyme.

Why not just take CS50

Where CS50 guides students through the intellectual art of programming using popular general-purpose languages like C and Python, ZS50 adapts that course's content and weekly challenges around Salesforce's proprietary Apex language. Challenges also incorporate other important features of the Salesforce runtime, including SOQL (SQL-ish query language), Javascript (used client-side in Lightning), and anything else we happen to think is pertinent to the weekly discussions.

Format

For each weekly lecture in CS50 there is a corresponding week[n] in the lectures sub-folder with Salesforce-specific content and discussions.

Similarly, the psets folder contains weekly programming challenges which have been translated for use on the Salesforce platform.

Course Goals

As a companion resource to CS50 this course seeks - in addition to the goals of the original course - to help you:

  1. Deductively apply foundational CS principles to Salesforce development,
  2. Introduce and explore higher-order concepts including object oriented programming, inheritance, and abstraction, among others, in an approachable and practicable manner, and
  3. Ultimately, and most importantly, to deepen your knowledge of the intellectual art of programming, and it's specific Salesforce permutations, in order to help you become a more confident and robust problem solver.

Ok I'm convinced (piqued, at least) - now what?

Getting started with ZS50 is easy and completely free.

  1. Sign up for a free Github account if you don't have one already. You'll need this in order to access the browser-based environment for completing the weekly Apex challenges (see step 4 below).
  2. Watch the weekly CS50 lecture (beginning with week 0, not week 1). You can find these on the CS50 Youtube Channel or by registering for the (again, free) course at EDX.

Aside: While you don't need to register for CS50 to take ZS50, it's a nice way to get access to the lectures, notes, video shorts, and C problem sets organized by week. If you're an extra-credit type of person, you could also complete the CS50 psets to compare / contrast how to solve the same types of problems in Apex. Onward...

  1. Review the Salesforce-specific lecture notes for the week
  2. Complete the weekly Apex challenges located in the psets folder. For this you can use a ready-to-run CS50 Sandbox configured specifically for completing the challenges. Setup is as simple as clicking a link but there are a few things to note about the sandbox environments. Click here for the details.
  3. Completion of the challenges requires typing some basic commands into the provided terminal window using the zs50 command line utility, whose documentation lives here.

You can also complete the challenges on your local machine, but it requires a bit more setup.

Happy Trails

Some parting thoughts before you embark:

  • Like it's namesake, ZS50 will continue evolving. Expect change and you won't be disappointed.
  • As CS50's professor is fond of saying, where you end up relative to others at the end of this course doesn't much matter. It's where you end up relative to yourself that counts.