Skip to content

Instantly share code, notes, and snippets.

@DevanB
Last active July 24, 2019 16:47
Show Gist options
  • Save DevanB/055bcde66f50bec157aeb157df920d93 to your computer and use it in GitHub Desktop.
Save DevanB/055bcde66f50bec157aeb157df920d93 to your computer and use it in GitHub Desktop.
Lambda School iOS Pre-course Work Issues
  • While I understand that we all struggle and have to be perpetual learners as developers, I think there is a requirement to have some foundational knowledge. I’m assuming this precourse work is normalizing each incoming student’s knowledge to succeed. I think the points below highlight that no assumptions can be made about prior knowledge, and no level of Google’ing can help a new developer (if they are even that at this point) even begin to figure out where to start.

  • Optionals: I think the instruction could be better for unwrapping. I know this is a poor first feedback point, but it is the truth. See how @twostraws at hackingwithswift.com handles it, or consider using his Swift fundamentals content in place of the Lambda videos.

  • iOS Pre-Course Challenge Section: Week 1 repl.it doesn't explain that you have to test both scenarios to pass. In these types of challenges, an input is typically given that is out of control of the user, the user’s code is executed against the input, and the answer is checked. The current way to handle this doesn’t work that way, and isn’t very explanatory of how it does work.

  • Loops and Basic Functions Section: doesn't teach return types, multiple arguments, or multiple functions, but tests it through a prime number generator that is impossible for someone who is 6 days into their coding journey (with no prior experience) to complete. Same with the Fibonacci sequence challenge. These topics are taught in the next lesson (Advanced functions).

  • Advanced Functions Section: has a challenge that tells you to create a small app, but doesn't explain how to close a keyboard (and no one knows what a delegate or controller is yet), doesn't instruct about a UITextField (which hasn't been used until this point), and doesn't instruct about how a function declaration in an external Swift file can be called.

  • Dictionaries Section: has a challenge that instructs you to build a small app that suffers from the same issues as the Advanced Functions section. Though the application is creatable, I helped her with it and she could not understand the solution.

  • iOS Pre-Course Challenge: Week 2 Section: Nil coalescing basics were never mentioned, but are explicitly referenced when instructed to use them in the challenge.

  • Classes Section: Guard-let basics were never mentioned, but are explicitly referenced when instructed to use them in the challenge.

  • Table Views: Data Sources: "UITableView is a view in Model View Controller... As you’ve already learned, a screenful of content is typically handled by an instance of UIViewController." These are both phrases taken from the pre-course work that are 100% wrong. No MVC or MVVM patterns have been mentioned so far. Also, "as you've already learned" in regards to screens handling themselves in a UIViewController is a noop, because UIViewController hasn't been mentioned before also.

  • Table Views: Data Sources: No instructions on adding VocabularyWords to the vocabWords array is provided.

  • iOS Pre-Course Challenge: Week 3 Section: Extensions are tested in 1.2 and 2.3, but were never mentioned (even in passing) in the teaching materials.

  • While doing the pre-course work, an email was received that says the precourse work should be completed one week (7 days) prior to the start of a cohort in order to be considered as entering that cohort. However, an announcement was dispersed that pre-course work would need to be completed 11 days prior to the cohort starting to be considered. This lack of consistent information is leading to the possibility of having to wait longer than a month to join the next cohort.

  • Though not necessarily bad, it should be mentioned ahead of time that the "Lambda Challenge" is simply the three repl.it challenges that are in the pre-course work. So by completing all of the pre-course work, one has already completed the "Lambda Challenge".

  • All in all, I think the pre-course work is a nice conglomeration of how you shouldn't introduce basics: using custom videos that aren't appealing, not introducing topics that you then challenge on, and not offering the "world class" Lambda experience that a student gets once they are in the cohort. To say that the pre-course work will take on average 20-30 hours is a highly unusual statement due to the extreme issues of the course work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment