Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Developer Center > How would you teach a Introduction to Cocoa course?

How would you teach a Introduction to Cocoa course?
Thread Tools
Forum Regular
Join Date: Feb 2005
Status: Offline
Reply With Quote
Nov 7, 2005, 10:33 AM
 
My final semester for my bachelors is in the spring and I have a 3 credit independent study and I've pitched the idea of a course in Cocoa to a professor however he doesn't have much of an idea on what it even is.

I let him borrow my copy of the Hillgrass book and he's going to try to put together a semester worth of work so I can have something to show for it.

How would you teach "Cocoa 101" over a 15 week semester?
     
Senior User
Join Date: Feb 2001
Location: Deer Crossing, CT
Status: Offline
Reply With Quote
Nov 7, 2005, 11:12 AM
 
First question, have you programmed anything in Cocoa? If so, you've probably climbed a few hills that seem incredibly easy now, but had you pulling your hair out trying to figure out what you were doing wrong.

You're going to have to define what level of experience you're teaching to. Are these completely green programmers? Do you have to teach what a variable is? Do you have to teach loops, conditional branching and basic C understanding before you delve into Objective-C and Cocoa?

I would look at a course like so:

1st - basic constructs, variables, loops, conditional branching (if, then, else, case statements, etc.).

2nd - Basic Objective C, message passing, OO design...

3rd - Memory management as in retain/release counts, some of the gotchas like what happens to retain count when you make a copy of a mutable object into an immutable object, etc. Memory management is key unless you like leaky apps.

4th - Interface Builder; show how to build a web browser with no code. Same thing with a rich text editor. Cover actions, outlets, delegates & First Responder. Cover subclassing and instantiating Objects. Cover custom views.

5th - Header files. This goes along with IB above. Teach how to understand header files, their usefulness, how they describe the object/methods of the object they are the header of. Show how to modify IB objects, then modify header files directly without using the Merge tool.

6th - MVC - Apple's Model, View, Controller hierarchy. Show how to split this up in Xcode. Explain why it's so important to segregate GUI control code from the rest of the app to simplify porting to other languages/OSs.

7th - Xcode & debugging tools. Most programs don't work right the first time so your students will need to learn how to debug their programs.

Other then the 1st point above, the rest will kind of mingle together and will probably need to be taught in a different order (i.e. cover MVC before delving into GUI apps).

The above could take you through 15 weeks of instruction.
20" iMac G5! :D AND MacBook 1.83GHz!
Canon Digital Rebel Kit + 75 - 300mm lens. Yum Yum! :D
Check out my OS X Musical Scales program
     
Grizzled Veteran
Join Date: Apr 2002
Location: case.edu
Status: Offline
Reply With Quote
Nov 7, 2005, 01:05 PM
 
Just to clarify, are you defining the requirements of an independent study for yourself, or are you teaching other students?

pb 1440x960 | 1.67, 1.5, 128, 80 | leopard
     
Forum Regular
Join Date: Feb 2005
Status: Offline
Reply With Quote
Nov 7, 2005, 01:58 PM
 
Originally Posted by Tesseract
Just to clarify, are you defining the requirements of an independent study for yourself, or are you teaching other students?
This is a solo project by myself and I'm also defining the project guidelines along with a professor who I will report to.

I have the Hillgrass book and I'm going to go straight through that and work on the example projects for deliverables to show I'm actually doing work.

As for experience I've got basic C++, Java for OO and PHP.

I've got a good grasp on the basics, moving into Obj-C is the big goal and really learning the ins and outs of Cocoa.

I especially want to learn about the debugger in XCode and all about memory management.

Should be a fun 15 weeks, although it'll be what I make it.

Thanks for the suggestions, keep them coming!
     
   
Thread Tools
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Top
Privacy Policy
All times are GMT -5. The time now is 07:41 PM.
All contents of these forums © 1995-2011 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.7 © 2000-2011, Jelsoft Enterprises Ltd., Content Relevant URLs by vBSEO 3.3.2