I teach an introductory 3D animation course at the University of Colorado in Boulder. I am in the computer science department, and it is not a fine arts class. It’s meant as a 3D animation literacy course and demands no programming, artistic, graphics, or animation background. The goal of the course is to give students a solid, intuitive understanding of what it means to build 3D models, put materials on them, introduce lights, and then animate and render a scene. We also cover the basics of particle dynamics.
In order to make the course tangible, and to give students the satisfaction of building models and animating them, Autodesk Maya is used heavily throughout the course. It is arguably the most popular professional 3D modeling and animation application. During most lectures, I present basic concepts and techniques, and step students through the process of executing them with Maya.
Maya is an incredibly complex application and the interface is deeply layered, with many windows, menus, pallets, and tools. Professionals spend many years mastering it. I give students a single assignment, and that is to produce a basic 3D animated video from start to finish. This means learning the overall workflow of Maya. Also, because Maya does not have facilities for editing sound, images, or video, students learn how to use Maya in a larger workflow which includes other media management applications.
The twice a week lessons are posted at wordsbybuzz.com.
The videos on the website.
The website has a blog where I post my twice a week lessons. They consist of desktop and audio capture videos. You can follow along as I present simple demonstrations with Maya.
If you look at the videos, please understand that these are raw, unedited 1.25 hour long videos. If you have any background at all in 3D animation, these are probably not the right things for you.
I also have to say that I make mistakes, have to futz around while trying to remember how to do things, and periodically run across idiosyncrasies of Maya, a mega-application that has been incrementally built over the course of a number of years. So don’t expect a lot of polish. The focus is on concepts, not on how to be a professional Maya animator.
Each of the posted videos comes with a brief overview of what they cover.
Other things on the website.
I have also posted several other things on the website, including a library of existing videos, Amazon references to a number of very good professional Maya books, an overview of what I expect students to provide for their course project, and links to videos made by previous students in the class. I also post links to this blog (on techtarget.com), and links to my other university courses. Sometimes I post links to my fiction writings.
I am in the process of creating a tab on the wordsbybuzz.com site that leads to a research website that a couple of very talented graduate students have helped me build. It is a media management system, and although it is completely built, there isn’t any media in it yet. My goal is to get students from my animation classes to upload models, animated scenes, textures, video clips, and audio clips, along with references to the applications they have used to build their pieces of media. The site will also include documents that provide explanations of how specific pieces of media were created and brief explanations of specific modeling and animation techniques.
I hope to grow the website into a place where my students (and anyone else who wants to) can collaborate on the process of developing basic 3D modeling and animation skills.
Again, please keep in mind that these videos are for folks with no background in modeling and animation, and are directed at a broad class of students who have a wide variety of reasons to want to learn about 3D animation. It is a skill that many professionals in a broad and rapidly growing array of disciplines need to learn.]]>
Cheating in universities.
They say there is a lot of cheating at universities these days. Why? Well, the conventional wisdom is that students are demanding high-powered courses and equally high grades, but they don’t want to work very hard. So, cheating seems to be absolutely necessary.
I don’t actually believe all this. I’m not that jaded, not that cynical. Students will work hard if they sense that a professor is working hard to teach them. I think wide-scale cheating, if it actually does occur, is in response to the growing tendency for universities to treat teaching duties as a punishment for professors who do not bring in enough federal research dollars. Students are not stupid; they know what is going on.
We can catch them, if we bother.
But, back to cheating. I’m sure that some of my students share code when I assign projects in my information systems courses, and that they take code out of various online resources. To be honest, I don’t generally check for this, even though there are programs that teachers can use to compare code (and English documents for that matter) from multiple sources to check for such borrowing.
Passion dictates when we bother and when we do not.
However, perhaps because it is something I enjoy and not something I see mostly as my main area of competence, I do end up checking for cheating in my animation classes. I do it by accident, because I am constantly looking at all the places where they are looking. I’m not trying to catch cheaters. I’m just excited about learning.
A world of unlicensed experts.
Indeed, this is perhaps a little noticed consequence of the new age where we are inundated with information 24/7, and in vastly higher volumes than we could possible consume. Some people pick an area, perhaps subconsciously, and dig in with raw compulsion. They cannot stop themselves until they seem to have seen it all, until the almost infinite reach of the Web seems to circle back on itself. We are an emerging world of unintentional and non-credentialed experts. It’s amazing, really. People who are around us on a daily basis have vast, silent bodies of knowledge that they don’t use in their jobs at all.
So, if you take an animation class from me, be careful. If you copy a model or a scene from somewhere on the Web, well, I’ve seen it already.]]>
Animation is everywhere.
I teach an introductory 3D animation class at the University of Colorado in Boulder. Since I am in the computer science department, which is in our school of engineering, a lot of my students are computer science and engineering students. The class also draws film studies, art, and geography students. College students today are well aware of the exploding, broad-based marketplace for animation-savvy professionals.
Animation and programing.
Animation is used heavily in both web and desktop applications. Importantly, a number of 3D animation applications can export Flash content, which opens the animation world to web app programmers who don’t have a knack for drawing. There are also native animation capabilities in many programming environments. In fact, drag and drop interface development is widely supported, and there is a growing marketplace for programmers who are familiar with the XML language MXML, which is used by Adobe Flash Builder. A prime competitor is the Microsoft Silverlight technology which uses another XML language, XAML. Both of these languages can be used to build desktop applications, as well. Then there is the drag and drop interface for creating Javafx-based user interfaces that comes with Netbeans.
In the mainline desktop application development world, there is the C++ drag and drop user interface capabilities supported by QT Creator, as well as the various Swing-based design interfaces support by Java development environments.
Where artists meet programmers.
These software development tools are enabling non-hardcore programmers to collaborate with more traditional programmers. In fact, there is an emerging a class of artistic-minded software professionals, and programmers are starting to sense that their territory is being invaded. To defend their turf, they are flocking to animation classes and asking that programming courses include coverage of 2D and 3D animation.
Programmers have a significant advantage, as it turns out. These drag and drop interfaces can be used to produce interface controls for applications easily enough, but they compile down to good old fashioned non-declarative code, and more code must be written to wire up the controls to specific behaviors, and to produce the server side of web applications.
In fact – and this is my point here – the front lines in the software turf war is going to start moving in the other direction, with more and more programmers trained in animation, and able to seamlessly blend animation development skills and traditional programming skills. The pure animation folks are going to have trouble competing.
The bottom line (for me, that is).
This is what I find most exciting about teaching animation: I’m serving a new generation of software professionals who are far more broad-based in their interests and skills. They’re more fun than programmers from my generation.
In fact, direct training in the use of modern media applications isn’t just a practical consideration. In order to develop a firm understanding of the direction of modern computing and to gain insight into the problems that need to be solved by future developers of media applications, computing students need to be exposed to the breadth of media management applications.
Today, we take a look at another extreme challenge presented to teachers of modern computing.
Computing – specifically, media management – touches everything.
Computer Science departments in universities are sometimes in Engineering schools, or sometimes in Arts and Sciences. A growing phenomena is that Computer Science is not just a department within a school, but is a school of its own with a name like the School of Information.
This underscores the extreme variety in what is considered to be in the domain of modern computing, including the creation of formal mathematical models with little or no immediate basis in the real world, the development of algorithms for performing complex computational tasks, the construction of novel software applications, the study of human interactions with computers, the development of standards for specifying medical information, the application of modern software technology to crisis management, etc., etc.
The point is that computer science graduates might find themselves working in virtually any area of human endeavor.
Interestingly, the domain of media management, including image, video, sound, and 3D modeling and animation management, is a perfect example of this. It is, in fact, everywhere.
So, what to do?
The answer, I think, is that media management needs to taught in a highly collaborative fashion, with faculty members drawn from across most domains of study. The collaboration shouldn’t be superficial, as is often the case, with students choosing isolated courses from multiple departments and counting them toward a roll-your-own major. This leaves students with no idea as to how varying disciplines are woven together in the real world. Faculty members, for instance, from fine arts and computer science need to plan and co-teach courses that look at the border between art and programming.
This blog is dedicated to emerging technology for Web 2.3/3.0, the Semantic Web, and multimedia management. In the previous posting, we looked at the dilemma of trying to teach general concepts to students interested in advanced media, in particular in the domain of 3D animation.
The conflict between abstract and hands-on training.
I teach an introductory animation class at the University of Colorado, Boulder. The problem I face is that the applications (such as the industry standard, Maya) that professionals use to build 3D animated projects are extraordinarily complex, and users need to be taught how to use them. Thus, if you want to give students both a solid, broad-based education, and at the same time, give them the satisfaction of building something real and the hands-on skills they will need in the real world, there simply aren’t enough hours in an academic semester to convey all of this.
So, which is better?
Today, we consider a widely-discussed issue: What is the best thing for students? Learning to use popular tools in wide use today? Or learning abstract concepts that that presumably will give a student a solid foundation for understanding, using, and developing media applications for many years to come?
Academics will always say the second thing is their job, that they do not run trade schools.
Professors who themselves need to be trained.
Often, though, this is simply an excuse for the fact that they themselves have very little hands-on knowledge of modern software. They are too busy writing research grant proposals and pumping out papers – the things that are demanded by their employers – to stop and learn how to use the software their students will be expected to have mastered. This is true for more than just video, animation, imaging, graphics, and audio software. Believe it or not, university faculty members who teach computer science often have absolutely no experience with software development technology for building large systems, database systems, web applications, etc., etc.
The abstract training is often not happening, anyway.
There’s more. That long term training, that in-depth, subtle mastering of general concepts, often doesn’t happen, anyway. When faculty members do not know how to use media applications, they tend to not have any idea how they work internally and how they got to be the way they are. They also are generally unaware of the softs of technology media professionals of the future will need.
Indeed, there is a growing gap between the knowledge that computer science graduates need and the stuff that is actually taught at the university level. Yes, basic, core, abstract knowledge of object-oriented programming, algorithm construction, encryption, and the like, are absolute necessities, but universities could be a doing a lot more to flesh out the basic skills that, from a pragmatic perspective, cannot be ignored.
Companies cannot fill in the gap.
There’s one more thing. Corporations can no longer afford to invest a lot of money in untrained college graduates. The world has become more global, and more competitive. Nobody seems to be stepping forward to fill in the gulf between abstract university training and the mastering of hands-on skills demanded by employers.]]>