{"action":"created","issue":{"url":"https://api.github.com/repos/mobilebridge/iosbridge/issues/5","labels_url":"https://api.github.com/repos/mobilebridge/iosbridge/issues/5/labels{/name}","comments_url":"https://api.github.com/repos/mobilebridge/iosbridge/issues/5/comments","events_url":"https://api.github.com/repos/mobilebridge/iosbridge/issues/5/events","html_url":"https://github.com/mobilebridge/iosbridge/issues/5","id":64338326,"number":5,"title":"Feedback on Newest Curriculum Idea","user":{"login":"jeffreybergier","id":7349616,"avatar_url":"https://avatars.githubusercontent.com/u/7349616?v=3","gravatar_id":"","url":"https://api.github.com/users/jeffreybergier","html_url":"https://github.com/jeffreybergier","followers_url":"https://api.github.com/users/jeffreybergier/followers","following_url":"https://api.github.com/users/jeffreybergier/following{/other_user}","gists_url":"https://api.github.com/users/jeffreybergier/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffreybergier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffreybergier/subscriptions","organizations_url":"https://api.github.com/users/jeffreybergier/orgs","repos_url":"https://api.github.com/users/jeffreybergier/repos","events_url":"https://api.github.com/users/jeffreybergier/events{/privacy}","received_events_url":"https://api.github.com/users/jeffreybergier/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-03-25T18:18:08Z","updated_at":"2015-04-18T09:36:07Z","closed_at":null,"body":"I wanted to get everyone's opinion on new curriculum for the next iOS MobileBridge. There was a lot of feedback from the last session that the tip calculator app didn't leave enough time for the rotten tomatoes app. I definitely agree with this feedback, but I also felt like the tip calculator app is the key to understanding how the XIB/Storyboard is connected to the code. So I was thinking of solutions to this and I was going to start a new curriculum guide for instructors that had the following basic sections.\r\n\r\n- Section 1) Understanding Interaction Paradigms on iOS\r\n     - Emphasis that this whirlwind 6 hour session of iOS will NOT teach all of iOS. \r\n     - Also emphasize that a lot of the code and syntax we are just going to ignore and go with the flow. Previous feedback showed the Objective C overview was not that useful. Either the experience level of the students is such that it goes right over their heads or they already fundamentally understand the concepts and the syntax is just syntax and is not a big deal.\r\n     - This section is off the computer. The instructor will whiteboard and show the students the basic interaction paradigms in iOS.\r\n     - The 4 fundamental ones are probably UIViewController, UINavigationController, UITabBarController and UITableView / Controller.\r\n- Section 2) Fundamentals of Connecting XIB/Storyboard to Code\r\n     - In this section, the instructor will walk the students through building a UIViewController that has a button and a text field and a label. \r\n     - Clicking the button will take the text from the textfield and put it into the label.\r\n     - I think this will teach the IBAction / IBOutlet / Communication paradigm taught by the tip calculator but be much faster\r\n- Section 3) Build the UI for the Rotten Tomatoes App\r\n     - This is where the instructor will walk the students through the concept of \"Prototype\" cells\r\n     - Connect a single UILabel in the cell to a UITableViewCell subclass\r\n     - Then changing the label in the tableViewCellForRowAtIndexPath\r\n     - Lastly, preparing the labels and images needed for the rotten tomatoes app\r\n- Section 4) Download the Rotten Tomatoes JSON and Parse it and Connect it to the TableView\r\n    - Use NSURLSession to download the rotten tomatoes JSON file\r\n    - Parse it with NSJSONSerialization (see the dictionary in the debugger)\r\n    - Learn how to take this array and put it into tableViewCellForRowAtIndexPath to populate the TableView\r\n    - If we make it this far, show how to download the images with NSURLSession for the cells (this is tricky because of the way iOS recycles cells)."},"comment":{"url":"https://api.github.com/repos/mobilebridge/iosbridge/issues/comments/94148803","html_url":"https://github.com/mobilebridge/iosbridge/issues/5#issuecomment-94148803","issue_url":"https://api.github.com/repos/mobilebridge/iosbridge/issues/5","id":94148803,"user":{"login":"ultrasaurus","id":41906,"avatar_url":"https://avatars.githubusercontent.com/u/41906?v=3","gravatar_id":"","url":"https://api.github.com/users/ultrasaurus","html_url":"https://github.com/ultrasaurus","followers_url":"https://api.github.com/users/ultrasaurus/followers","following_url":"https://api.github.com/users/ultrasaurus/following{/other_user}","gists_url":"https://api.github.com/users/ultrasaurus/gists{/gist_id}","starred_url":"https://api.github.com/users/ultrasaurus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ultrasaurus/subscriptions","organizations_url":"https://api.github.com/users/ultrasaurus/orgs","repos_url":"https://api.github.com/users/ultrasaurus/repos","events_url":"https://api.github.com/users/ultrasaurus/events{/privacy}","received_events_url":"https://api.github.com/users/ultrasaurus/received_events","type":"User","site_admin":false},"created_at":"2015-04-18T09:36:07Z","updated_at":"2015-04-18T09:36:07Z","body":"With the caveat that I don't have experience with the prior RotenTomatoes approach -- I like this approach.  To whatever extent you could build a tiny app in sections (1) and (2) that would be directly applicable (or part of?) the app you build in section 3 & 4, I think that would be helpful.\r\n\r\nThis may be too late for feedback (if so, please feel free to disregard this), but I wonder if #2 was first with a single view app, it might be easier for people who have written code in other environments to feel comfortable with what is going on.  Then you could add in the material from #1 and show how to create UINavigationController, UITabBarController, etc. by making that one view of several tabs."}}