Feedback on curriculum

Adobe plans to create curriculum resources focusing on Flex and AIR integration within computer engineering and media arts studies in higher education; which can be used by faculty and students. These resources are a first step in Higher Education resources and will be introductory in nature. This presentation outline, documents the introduction to an online workshop as well as, the topics to be covered by the online workshop modules. The online workshop will consist of modules introducing rich Internet applications through Flex and AIR.

Thematically the content will be discussed from two points of views:
• Individuals with a computer engineering / programming background
• Individuals with an art and design background
Give these goals, please provide your feedback on the draft .

Some questions to guide your comments include:
• How much time would you or would you expect your students to spend weekly for an online workshop?
• Looking at the content outline for the online workshop modules, do you think this is the appropriate level and depth for an introductory workshop, from your perspective?
• For an introductory workshop, do you think this is too ambitious?
• When it comes to covering integration of Adobe technologies for rich Internet applications with other technologies, what would you say are the top three technologies you’d like to see covered? We’ve put a few in the outline, are these the ones you would choose or are there others you would prioritize higher?

Thanks for your feedback and helping us make the right set of resources for educators.


10 Responses to Feedback on curriculum

  1. Tanya Heins says:

    Thanks Curtis. Excellent feedback!

  2. I’m not sure how you want this rated, 3 at the subject (root) level or 3 at the topic level?Just in case…Subject level:1. Designing Layout and Navigation2. Data3. Putting it all TogetherDesigning Layout and Navigation; Only 3? Geez…* Integrating CS3 into your Flex work-flow – Yes, excellent topic, make sense out of Adobe’s vision* Application Container – Yes, but demonstrate the special ways that containers can communicate, and how the application object’s role can help or hinder.* The Box Class – No, Too easy.* Canvas – absolute and relative – No, too easy.* Combined Layout – No, can be experienced by playing around.* The Form Layout Container – Yes, form functionality should be demonstrated and discussed* Styling Components with CSS – Since I’m limited to 3, this is my elective. But make sure you discuss the differences between CSS, Skins-Themes, and how overriding applies if you’re using both approaches.* Accordion – No, but if you have to, take this one over the TabNavigator* Tab Bar and Link Bar – No, but good topics* TabNavigator – can be covered by the Accordian* ViewStack – Another good one, but could be reserved for how to design full fledge navigation, another electiveMultimedia Controls* Working with Sound* Working with Video – Probably the best topic, make it in-depth and the other two will be easy* Working with CamerasData* Exchanging Data – overview topic* Binding and Modeling – Yes, especially discuss the inner binding code that can impact performance* CRUD (Create Read, Update and Delete) – Yes, but concentrate on the connectivity within the application from the form-service objects that are provided in AS3 and how they interact with the outside world.* Shared Objects – If I’m understanding this correctly, this is good, but advanced stuff (server code) that may seem simple conceptually, but depending on the back-end expertise (remember your audience) may not go over well and cause too many questions about subjects beyond the beginners level to understand.* Validation and Formatting – This is a good topic, that even I could use more information on, limited to 3, the top 3 are already there.Handling Events* Simple UI Event* Event Listeners and Event Propagation – this is what you need. Discuss in the context of communicating between objects and trying and catching events.Putting it all Together* Building a Simple XML / Text Editor – probably the best if you are saving the input.* Building a countdown timer AIR application – Change this to file access on the client machine and security constaints* Google RSS Feed Reader – Good for a demoDeploying Applications* Exporting a Release Build – Yes, difference between debug and production builds. How to.Hope this helps!Sincerely,Curtis FisherPresidentProfessional Content LLCBus: 816.668.3650

  3. Tanya Heins says:

    In this Flex and AIR introductory workshop, which 3 of the following areas would you like to see built out as step-by-step demonstrations;Designing Layout and Navigation* Integrating CS3 into your Flex work-flow* Application Container* The Box Class* Canvas – absolute and relative* Combined Layout* The Form Layout Container* Styling Components with CSS* Accordion* Tab Bar and Link Bar* TabNavigator* ViewStackMultimedia Controls* Working with Sound* Working with Video* Working with CamerasData* Exchanging Data* Binding and Modeling* CRUD (Create Read, Update and Delete)* Shared Objects* Validation and FormattingHandling Events* Simple UI Event* Event Listeners and Event PropagationPutting it all Together* Building a Simple XML / Text Editor* Building a countdown timer AIR application* Google RSS Feed ReaderDeploying Applications* Exporting a Release Build

  4. Anuja Dharkar says:

    Thanks Curis, for your in-depth response. This will be very helpful for us as we move forward. We will post our next version of the workshop as well as some Project examples we are building to get more feedback.

  5. Curis Fisher says:

    First let’s take the assumption that there is a line between computer science activities and design activities. In my five years as an educator (having taught over 200 classes) for a world-wide software company, I separated development into two main groups…1. Business programming for enterprise applications2. Tools programming to produce the tools to program enterprise applications.Except for the type of language instruction, the needs of both groups included interface design as a key task. For business apps the ability to translate workflow and business process into a usable, attractive GUI was paramount to success. For Tools programmers, there was more emphasis on the workflow and the ability to raise the level of abstraction to facilitate learning of complex techniques and related concepts. The GUI sometimes was secondary because the audience was expected to be more experienced (later changed to UI when the graphical was thrown out the window in favor of dumbed-down HTML).I have worked in this industry at many levels and I have always been amazed that our instruction techniques always separate the various tasks necessary for application development into multiple teams or people. The Internet brought graphic skills to the forefront and FLASH melded graphics and animation into a skill-set that demanded creative inspiration and talents, as well as procedural thinking and programming expertise. The difference to me was the tool-set that was available in FLASH vs. a programming environment. The programmer in me dislikes the FLASH stage and layers which graphics tools designers are comfortable with. Also, the metaphors for tweening and the other types of advanced object manipulation are overly complex and cannot be revisited on a once-in-awhile basis and be retained adequately. I’m setting the background for what comes next, so be patient with me.Given these realities, what we have now are many different type of applications. Consumer facing applications are mainly communication channels to the different audiences, each with its own needs and desires for what makes a good-great or bad experience. Before I digress into a dissertation on the types of applications on the web, let me get back to my point I was making at the beginning: THERE IS NO REAL LINE BETWEEN VISUAL DESIGN AND PROGRAMMING, and they should be taught as complementary skills that are dependent on graphics and illustrator skills. In today’s corporate environment for internet applications we don’t hire graphics people in IT unless marketing is the direct customer of the IT department, and then Marketing hires them. The point is, graphics people are not UI designers for applications, they are UI designers for Web Sites, and web sites are typically void of complex workflow and the design metaphors commonly used to accomplish a corporate application for deployment.Here is my take on the Computer Science Student…CS Graduate – Core Skills1. Expertise with programming, XML and Markup languages – Java-C#-C++-JavaScript-ActionScript-DHTML-XHTML-DOM2. Experience with Integrated Development Environments (IDE’s) such as Eclipse with various plug-ins such as FLEX, and NetBeans3. Understanding of back-end architectures and interfaces – SOA-RPC-Client/Server-Messaging4. Ability to interpret standards, produce requirements and design artifacts within a software-development life-cycle, and quality assurance processes5. Demonstrate analysis skills within various business domains at a general level6. Produce business process documentation at a level to create feature-function-requirements traceability matrixCS Graduate – Visual Interface Design1. Translate business process into workflow artifacts2. Demonstrate organization and grouping visualization of workflow and business process3. Ability to prototype with creative metaphors representing effective features for workflow4. Design for behaviors and adaptation5. Translate aesthetics of graphic design into attractive interactive Visual Interfaces6. Create uniform styles and feature functionalityCS Graduate – Business Skills1. High degree of written and oral skills within a team2. Propensity for collaborative communication3. Demonstrates creative problem solving4. Smiles while listeningAs for the graphics and multi-media folks. Adobe needs to figure out where they want to take FLEX. I think barry.b’s comments are right on. I confess, I had to read about what a VJ was in order to comment, but I can say this: The cool stuff is not going to gain the inroads into corporations. Grass roots at the community level is absolutely a must, but Adobe has to penetrate the IT shops that are dug-in with Java being the dominate HTML rendering engine for intra and internet applications. Remember, these are not web sites, these are web-applications. Big difference.Personally, I think there should be an elective track for 200-300 courses on graphics for the CS student and they should have to take at least two 100 level classes about graphics. Courses that teach colors, shapes, 2D and 3D concepts, blending, layering and all the beginning graphics techniques should be explored. These are the things that were a mystery to me, and to be honest, most of what I know now is pretty basic. Trying to turn a “Creative” artist into an interface developer may seem like the long way around for most IT departments, and personally, I’m not sure it will work. Thermo may turn creative individuals into designers, but that remains to be seen. I am watching and will wait and see.I would like one of your managers to get in touch with me at curtis dot fisher at procontent dot net if they would be so kind. I am starting a group of developers from our high schools and colleges in the Kansas City area. This will be an Adobe group that will meet weekly and have corporate sponsors. It will allow our youth to develop skills that are in demand and their focus will be learning how to function as a team who delivers applications for non-profits and the community. I have been in touch with Matt Chotin and he offered up a Miguel Salinas as someone to get in touch with, but I have not heard back from him. Funny this thread should come up, because I am looking to create a team of:High School and College Team – NexGenWeb User Group1. Flex & Flash Programmers2. Video/Media Producers3. Writers/Bloggers4. Graphics Designers5. Java Programmers6. Systems Experts7. Web DesignersSo, let me address the questions you were asking (I hate it when I give a list, and nobody follows it!). I will answer the questions for the group of cats, err… kids I intend to herd.How much time would you or would you expect your students to spend weekly for an online workshop?• I would say min 2 hours outside of the group meeting and 1 hour within a group meetingLooking at the content outline for the online workshop modules, do you think this is the appropriate level and depth for an introductory workshop, from your perspective?1. Discuss the related skills programmers and creative professionals contribute to the building of a web application2. Understand the technology evolution to rich Internet applications (RIAs) and their relevance to Web 2.0• What’s funny about talking about Web 2.0 stuff is how we seem to talk as if complex metaphors don’t exist anymore. I think that if you want to stay with this topic for a course, you should explore the past GUI development of Client Server applications such as PowerBuilder-Delphi-C++ on Windows. Describe how the deployment issues with thousands of clients and private connectivity infrastructures made the pain so great it was hard to pay for it. How back-end design was beginning to move business logic from the client to the back-end at a time when Java and the internet became available. Suddenly HTML was the prima facie standard for rendering controls and content that remained unquestioned for almost a decade. How we have now come full circle back to a higher need for feature/functionality and are no longer limited by private infrastructure and deployment methods.Okay, I’ll stop. But you catch my drift. Also, I think the illusion of the development team working with the marketed version of how adobe products should be used in the enterprise is just that. Somebody’s idea of how we use this stuff. It doesn’t work that way in corporations where the business is NOT in the software business other than to SUPPORT their chosen business model. In most environments, the programmer gets the assignment details, either from a requirements person or she, the programmer goes and gets them from the customer, develops the design, either a Visual Interface or a back-end process. If graphics are required, specify and get somebody to build them. Then code and test, code and test. Integrate, build and system test. Deploy and deliver. Catch up on the documentation, maybe. In a large team, say 6-10 people, there are leads working on the requirements, design, and coders are working on the rest of it. Graphics may be a major part, but normally they are not an ongoing iterative event that requires restructuring of features or functionality.1. Be familiar with the development environment and Flex/AIR workflow2. Demonstrate a preliminary understanding of the intersection of Flex/AIR with other important Web 2.0 technologies such as Java and AJAX• Good topics, but the goals of evaluation kind of muddy the purpose. The purpose should be to have a clear understanding of the architectures behind the RIA, how the work breakdown for development is shared throughout an average small team and how Adobe products would be used to support the team workflow.For an introductory workshop, do you think this is too ambitious?• No, apply KISS and all will be well.When it comes to covering integration of Adobe technologies for rich Internet applications with other technologies, what would you say are the top three technologies you’d like to see covered? We’ve put a few in the outline, are these the ones you would choose or are there others you would prioritize higher?• Creative Suite products should be broken out and their strengths applied to the targeted development cycle, mainly the graphics needs. Thermo could be used as the bridge from these products to FLEX, but that is for the future, no doubt.• FLEX and its ability to separate concerns of the RIA from pure business logic. So often designs of rendering HTML rely on complex roll-yer-own Frameworks or Struts or JSF, but most often the front-end rendering is an amalgamation of some Java technique that takes an expert to understand, design, and maintain. FLEX separates validation, components and data into evenly divided areas.• Back-end technology such as Blaze, FLASH server, AMF. These need to be explored.I will keep an eye on this thread, please feel free to ping me if you would like any other feedback.Thank you for an interesting topic.

  6. Bobby says:

    I have taken Flash classes at the local community college. I am very interested in curriculum on getting the Adobe Platform in school. Feel free to contact me to beta test this content since I am perfect guinea pig as your target audience. 🙂

  7. Tanya Heins says:

    Thanks Peter for your thoughtful feedback.I like the idea of anchoring on core concepts that don’t rely on a specific product or version. It sounds like the curriculum needs to have more relation to ‘visual foundations’ than teaching a product skill. Can can point me to any curriculum examples that you think begin to accomplish this?Also, I have a question about preparing students for the workplace. Is there a need for technology based curriculum to include content that teaches students from various disciplines (arts, design, developers) about how they might need to interact and collaborate with each other around technology in the workplace?

  8. Peter Kirn says:

    Anuja, I think this is a terrific idea — such a good idea that I think it’s worth being frank.The document there has some interesting ideas, but as curriculum materials it seems completely off the mark. It looks like marketing. And certainly on the media arts side, it seems out of touch with what people are actually doing.I just don’t see teaching “Web 2.0” in a class. I can see teaching interface design, prototyping, programming skills, working in teams, working with rich media (or just multimedia, which is the same thing), networking, XML and data — but any class should be a class on skills, not a class on Adobe’s product sheet. It’s a tremendous opportunity for Adobe to get *out* of the boxes the company normally thinks in, so this isn’t a criticism so much as a plea to take that opportunity.I come at this from the media arts side, and the sphere of what people are doing is far broader than even the rich client application as most people understand it. People are working with things like data visualization and sonification, multimedia performance, primarily with Flash and Processing ( You’ve got folks like Daniel Hai who’s built a VJ app with Flex (Onyx) — something you could take into a club and perform with. And there are skills you need to teach with that. For instance, to work with Flash’s image libraries, you need a basic understanding of colors. If you don’t have a CS background, you’re going to need to understand how to write a for loop, how object-oriented programming works.It seems to me that a technology curriculum is successful when you can pull the specifics out, replace the software (or software version) and use it ten or twenty years out. And there are really substantive educational issues to cover *with Adobe’s product line* — as basic as how pixels, color, code, interface, data, sound, and structure come together. I just don’t see them anywhere in that PDF.Sorry to be blunt — I applaud Adobe’s initiative, and hope you take this further. I’m happy to talk more about what I mean if desired.

  9. barry.b says:

    I’m glad you’re finally getting there with curricula for Flex/AIR. Not sour grapes or a flame, just stating the importance of getting this happening quickly to piggy-back on the Flex3 launch.I’ll have a really good look at this over the next couple of days but the two most important things to get quick runs on the board:- lesson plans- examples that work (don’t laugh – I’ve seen some that haven’t been checked and arrive broken)but kudos for this and for Free FlexBuilder For Education. well done.

  10. kathryn says:

    I think it’s great that Adobe is giving some attention to teaching Actionscript in academia.I teach a Flash Actionscripting class to designers, and have searched for a reference book that would make a good textbook for my students.Unfortunately, most of the Actionscript books out there are references, and not textbooks that would walk designers through topics in an introductory order, with examples and practice exercises.I would love to see this effort go beyond Flex, to include Actionscripting in Flash.