Course Outlines
Schedules may vary by day and/or session. Please note that the below course outlines are for two-week sessions at the iD Programming Academy. For more details on our other programs, please choose from iD Tech Camps, iD Gaming Academy or iD Visual Arts Academy.
The iD Programming Academy offers students the chance to master some of the most common programming languages in use today. iD faculty deliver one-on-one instruction, encouraging and challenging students to work toward not only completing a high-quality project, but also building a college entrance resume in the process.
Learning in small groups, students work at their own pace. Although some courses require prerequisite knowledge in order to hit the ground running, all students will be challenged based on their incoming skills and individual abilities.
All students participating in our programming academies will have a memorable experience making friends, developing new skills and learning first-hand from professionals and college students who are passionate about programming.
iD Programming Labs 101
Week One: Starting with an introduction to Object Oriented Programming, learn how to work with computer programming concepts such as variables, data types, operators, and input/output. Throughout the week, you will also learn about control flow using conditional statements, loops, and functions, as well as more advanced data types and data structures, such as strings, pointers, arrays, lists, and vectors. Put your skills to the test by analyzing the code structure of actual applications and working with focused exercises to practice foundational coding.
Week Two: Review and analyze other common languages such as Javascript, Actionscript and Java, while exploring language similarities and differences, as well as strengths and weaknesses for specific application purposes. Learn more advanced concepts of programming, including searching and sorting algorithms along with custom class design. Wrap up your experience with a portfolio of broad-based mini projects and a flexible knowledge of programming that can be applied to multiple disciplines. Find out more.
iPhone® & iPad® App Development – Objective-C & Xcode®
Week One: Get introduced to all things iPhone® and iPad®. Gain a familiarity with Objective-C, the programming language used by Apple®, as well as Cocoa® Touch, the code framework used specifically for the iPhone®. Learn Apple® integrated development tools Xcode® and Project Builder to begin the exciting process of creating your course project. Explore the various capabilities of the iPhone®, including the Map, Address Book, Mail, Game, store API’s (Application Programming Interfaces) and much more. By examining current popular applications and open source projects by major corporations, you will receive hands-on experience with your iPhone® or iPad® and learn what it takes to be a real mobile application developer.
Week Two: Delve further into topics that interest you based on your initial exposure to iPhone® possibilities. Our instructors will demystify some of the more complex features of the iPhone® by teaching useful programming skills and by breaking down source code of advanced applications. Learn how the official development process works, how to interact with web services and also explore more advanced game apps. Make something truly impressive and understand and implement the advantages that mobile devices provide to software developers. Find out more.
Google Android™ App Development with Java
Week One: Starting with an introduction to Java, we’ll begin to explore the basic toolset of the Android™ SDK and how to use its Java-based architecture to build a wide range of mobile applications for phones and handheld devices. Learn how to create user interfaces using the Android™ widget framework and the built in WebKit components. Students will build a series of tutorial projects what will take advantage of the unique capabilities of the Android™ engine, including location tracking, maps and internet access.
Week Two: Once you have a comfort level with Android™ basics, move into intermediate or advanced topics like security, custom views, as well as working with graphics. Integrate audio and video support, persistent data storage and media services. By the end of the course, you’ll understand the vast and growing world of Android™ OS application options and know the process to bring your app to market. Find out more.
Robotics Engineering & Coding
Week One: Get started with the basics of Robot-C and its easy-to-use C-programming development environment as you start exploring the world of robotics engineering and programming, tackling design challenges and bridging the gap between manual and autonomous control. Investigate new software features like the built-in Natural Language function library for beginning programmers and the Virtual Robot capability, allowing you to test your robot’s functionality before finalizing your hardware design. Experiment with sensors and actuators and begin to strategize how your team’s robot will need to adapt as task parameters change.
Week Two: Think about efficiency and accuracy as you program your robot to tackle a series of challenges increasing in complexity and refinement. Learn to program for tactile/bump sensing, line following, and even people following! Design algorithms for more complex tasks like hiding, wall-following and mapping, or driving and parallel parking. Combine motors, servos, and all the powerful sensing capabilities provided by the VEX® robotic system with your new knowledge of programming to design and implement robust automated robotic systems! Find out more.
Java Programming for the AP® Exam
Week One: Begin with an introduction to the Java programming language and the Java Programming IDE, Eclipse, and learn how to make a basic program. Students will review important core computer science concepts such as variables, operators, and basic program I/O, learning about string manipulation, boolean logic, and basic control flow. Put your skills to the test by creating Java programs to enhance fundamental Java programming knowledge. Practice these important skills with AP® Exam related exercises both off and on the computer.
Week Two: Develop core Object Oriented Programming skills for the AP® exam such as methods, classes, and string manipulation. Continue learning concepts like arrays, Lists, ArrayLists, and exception checking. Work on more complex and involved Java programming projects to refine and practice these challenging concepts. Take sample AP® exams, practicing the multiple choice, and free response elements of the test. Filling in any conceptual gaps in order to have a thorough and strong understanding of all the elements of Java and Computer Science, students will graduate with the knowledge and confidence needed to tackle the Computer Science AP® exam. Find out more.


