Worldwide Headquarters Phoenix, Arizona 1899 L Street NW, 5th Floor Washington, DC 20036 1.800.424.9299, ext. 4 +1.202.463.4860, ext. 4 22601 North 19th Avenue, Suite 200 Phoenix, AZ 85027 1.800.528.0465 +1.623.476.1400 International Headquarters Tokyo, Japan Keizersgracht 62/64 1015 CS AMSTERDAM The Netherlands +31 20 5206884 Aoyama King Bldg 4th floor-A 2-9-10, Shibuya, Shibuya-ku, Tokyo 150-0002 Japan +03.5468.6151 2004 W E L C O M E 2004 A s C h a i r m a n o f B l a c k b o a rd i t ’s p ro b a b l y i m p o l i t i c o f m e t o s ay t h i s , b u t B u i l d i n g B l o c k s i s my f avo r i t e p rog r a m . I’m sure I’ll have to make up to somebody for saying that, but it’s true. The reason Building Blocks is so important is that the category of e-Learning is still very young. There is an incredible demand for innovation in our field, and Building Blocks and this conference in particular provide us an opportunity to advance the field together. I am also excited about Building Blocks because we really do think of Blackboard as a community, not just a company, and nothing exemplifies that more than Building Blocks. When I attend events like this, when I read the postings in the Developers Network forum, when I use Building Blocks, I can see that we have see many people working together to achieve broad and important goals. So, welcome to the Second Annual Blackboard Building Blocks Developers Conference. I view this conference as a twin event to the Blackboard Users Conference. In its second year, we continue to focus on professional development and technical innovation. This year we’ve extended the technical sessions to include a beginner track, advanced technical topics, and new and emerging technologies including the new APIs for the Microsoft .NET framework, innovations on campus, and presentations from Microsoft and Sun experts. I encourage everyone to mine the conference for its full value. Meet as many colleagues as possible, and let’s continue these relationships when we return home. There is much we can offer each other in advice, strategies, and the ability to review and share each other’s work. Many Blackboard employees are attending this conference, and I hope you will introduce yourselves and give us the benefit of your thoughts and suggestions. Enjoy this event. Enjoy our home town of Washington, DC, and enjoy the beautiful campus of Georgetown University, our kind hosts for this event. Please join me in thanking our sponsors, Microsoft and Sun Microsystems, and in thanking Charlie Leonhardt and his team at Georgetown for their generous support of this event. Matthew S c h e d u l e M O N D AY J U L Y 2 6 T U E S D AY J U L Y 2 7 Salon D Salon E Salon F Salon D Salon E Salon F Java Advanced Topics New and Emerging Technologies Java Advanced Topics New and Emerging Technologies 8:00-8:55am Registration/Continental Breakfast — South Gallery 8:00-8:55am Continental Breakfast — South Gallery 9:00-9:45am Keynote Session, Matthew Pittinsky, Chairman, Blackboard Inc. — Salon H 9:00-9:45am Understanding Blackboard TagLibs 9:45am -10:30 am Introduction to Building Blocks (non technical) Java APIs in Detail What is .NET? 10:30am-10:45pm Coffee Break — South Gallery 10:45am-11:30pm Introduction to Java 11:30-12:15pm Java IDEs - Eclipse Data Storage and Migration (Java) .NET Development Tools 9:45-10:30am Portal Modules and Module Types (Java) 10:45-11:30 am B2 and Web Services (Java) 12:15-1:30pm Lunch — Salon H 2:15 - 3:00 pm Java APIs in Detail Evaluation Tools: Building Blocks that Simplify Grading .NET APIs in Detail Understanding TagLibs and Developing Portal Modules (.NET) 3:00 -3:30 pm Coffee Break — South Gallery 3:30-4:15pm Blackboard and Content Types Internationalization (Java) for the Building Block Developer Sponsor Session: How-to Build NET Applications Using Visual Studio .NET Building Usable Building Blocks Blackboard 6 Authentication Development Ideas - What Should You Build? Empowering Faculty with Building Blocks Data Management Using Building Blocks Sponsor Session: Advanced Java Technologies Update 10:30 - 10:45 am Coffee Break — South Gallery Test Driven Development (Java) My First Building Block (.NET) 1:30 pm - 2:15pm My First Building Block (Java) Managing Performance in the Development Lifecycle (Java) Java Event API Building Blocks and Systems Integration: Technology and Team Organization 4:15 pm Day One concludes 5:00-8:00 Evening Event — Spy Museum/Zola Bus Pickup in Lobby of Conference Center 11:30 - 12:45 pm Lunch — Salon H 12:45-1:30 pm Security and Authentication with Building Blocks (Java) 1:30 -2:00 pm Coffee Break — South Gallery 2:00 - 2:45pm Building Blocks and Blackboard — a Look Ahead — Salon H D e s c r i p t i o n s E S S I O N S J A V A T R A C K This track is for developers familiar with Java but not familiar with the Building Blocks Java APIs and developing Building Blocks. This track is designed to give attendees the basics of what they’ll need to get started developing their own Building Blocks in Java and JSP. Java APIs in Detail Introduction to Building Blocks (non technical) Blackboard and Content Types for the Building Block Developer Jan Poston Day Tracy Engwirda Building Blocks is more than a collection of APIs, it is a program to support a growing community of developers. This session is an overview of the program, the resources available to developers including: the Development Advisor Group, Webinars, listservs, etc. This session will highlight some of the key not-to-be-missed sessions at the conference as well as, opportunities for further learning and hands-on courses. Presented by Jan Poston Day, Director, Building Blocks. An overview of how to create and work with Building Blocks that act as new content types (e.g., WYSIWYG) or that access external content systems. Bob Alcorn In this session, Blackboard Software Engineering developers will walk through the APIs for the Building Blocks Java SDK, covering them at a detailed level. Por tal Modules and Module Types (Java) Tom Joyce Samg Shin The Blackboard Portal System provides institutions the ability to deliver a variety of information customized to each type of user on campus. In this session, attendees will learn, step by step, how to create their first Portal Module Building Block using the Java Building Blocks SDK. An introduction to the Java programming language and development environment, focusing technologies relevant to developing for Blackboard Academic Suite. Understanding Blackboard TagLibs Introduction to Java Java IDEs — Eclipse Tom Joyce Tom Joyce Tag Libraries are re-usable code components defined by the Java Servlet specification. This session provides an overview of the tags used to create the Blackboard look and feel within your Extension. A discussion of Integrated Development Environments (IDEs) with special focus on Eclipse. B2 and Web Ser vices (Java) My First Building Block (Java) Bob Alcorn Tracy Engwirda Webservices are a means for easily sharing data and information between systems. In this session you will learn how Building Blocks work in the world of web services. We will talk about Building Blocks as producers and consumers of web services. Topics include: XML, SOAP, UDDL, and WSDL. Building Blocks technology gives developers the power to integrate systems, tools and services with Blackboard Learning System and Blackboard Portal System. In this session attendees will learn, step by step, how to create their first Building Block for Blackboard Learning System using the Java Building Blocks SDK. D e s c r i p t i o n s E S S I O N S Security and Authentication with Building Blocks (Java) Evaluation Tools: Building Blocks that Simplify Grading Tom Joyce Jeff Nuckles, Instructional Design Specialist, Joliet Junior College An overview of the security in the Blackboard Learning System. Learn how Building Blocks interact with this framework, including Authentication, Authorization, and Java permissions. The trend of moving traditional grading methods online creates a need for tools to assist educators in evaluating student’s course work. This presentation takes you from determining the need to the final roll-out of an evaluation tool and includes a discussion of the gradebook API and successful use of navigation elements. Building Blocks and Blackboard — A Look Ahead Bob Alcorn, David Yaskin A look ahead to new technologies, integration opportunities, and how Blackboard is taking advantage of Building Blocks. Test Driven Development (Java) Tim Moore D V A N C E D T O P I C S This set of sessions is designed to cover advanced topics in the area of design and development of Building Blocks. Test-Driven Development is a popular methodology for creating simple, flexible, and fully-tested code. This session will provide an introduction to unit testing with JUnit, an overview of Test-Driven Development techniques, and a brief example of TDD in practice, used to implement a simple Building Block. Java APIs in Detail Internationalization (Java) Bob Alcorn Bob Alcorn In this session, Blackboard Software Engineering developers will walk through the APIs for the Building Blocks Java SDK, covering them at a detailed level. A discussion of the roadmap for internationalization of the Blackboard Academic Suite, with specific coverage of internationalization and localization facilities in Application Packs 2 and 3. Data Storage and Migration (Java) Java Event API Bob Alcorn Tracy Engwirda A discussion of the pitfalls in storing custom data in the Blackboard Academic Suite. Includes best practices for enabling “portable” data and ideas for creating flexible data structures. The Event APIs give developers the ability to insert data and query the Blackboard database in near real-time. This session provides an overview of the Java-based Event-driven user APIs and an in-depth look at the API class libraries. A Managing Performance in the Development Lifecycle (Java) Steve Feldman As Blackboard installations grow in adoption, developers must always be conscious of the performance implications for their extensions. This session discusses various performance concerns in the Blackboard Academic Suite and outlines best practices for extension developers. Building Usable Building Blocks Zahra Safavian Conventional wisdom is that it is easy to build something hard to use, and hard to build something that is easy to use. Come learn from Blackboard’s usability and user interface design team how to design your Building Block with ease-of-use and accessibility in mind. D e s c r i p t i o n s E S S I O N S Development Ideas Exchange — What Should You Build? My First Building Block (.NET) Greg Ritter Biran Zhang So many ideas and so little time… This interactive panel session will cover information about the kinds of tools and services that System Administrators, faculty members, and students need, or wish they had. Bring your own success stories as well as ideas to share with others. Interested in working collaboratively? Try out ideas at this session. Attendees will learn, step by step, how to create their first Building Block using the Building Blocks SDK for the Microsoft (R).NET Framework. .NET APIs in Detail Biran Zhang Data Management Using Building Blocks Yordanos Baharu, Manager CIDD, George Washington University In this session, Blackboard Software Engineering developers will walk through the APIs for the Microsoft .NET framework, covering them at a detailed level. At The George Washington University (GWU), we developed custom tools using Building Blocks technology to accomplish critical system administration needs. The tools are used to change data source key, change the status, maintain courses using data source keys and to enroll users in a course. Understanding TagLibs and Developing Por tal Modules (.NET) N E W A N D E M E R G I N G T E C H N O L O G I E S Interested in understanding how new technologies are being used on campus? This is the track for developers interested in hearing how they can use the Microsoft .NET Framework to develop and customize Blackboard Learning System and Blackboard Portal System, hear from fellow Building Blocks developers about their creative efforts, and get the latest news from the Building Blocks Developers Conference sponsors. What is .NET? Bruce Jackson An overview of Microsoft’s .NET technology. Attendees will learn the core elements of .NET, including a discussion of the .NET Framework and the Common Language Runtime. .NET Development Tools Biran Zhang In this session, Visual Studio .NET will be presented with examples including: creating a new project, using assemblies, debugging, and tips & tricks. Biran Zhang The Blackboard Portal System provides institutions the ability to deliver a variety of information customized to each type of user on campus. In this session, attendees will learn, step by step, how to create their first Portal Module Building Block using the Blackboard TagLibs and the Building Blocks SDK for the Microsoft .NET Framework. Building Blocks and Systems Integration: Technolog y and Team Organization Carlos Cortez, Systems Integration Head, University of Santo Tomas Michael Carreon, Information and Computer Studies Department, University of Santo Thomas The University of Santo Tomas has begun an undertaking that aims to tap the vast potential of Blackboard Building Blocks to expand the capabilities of the LMS and to seamlessly integrate the Blackboard LMS with the other systems within the University, such as the Student Information System. This presentation will outline our approach and methodologies for our formal Building Blocks and System Integration Project, utilizing the successful project management strategy similarly employed in the e-Learning Access Program of the University. D e s c r i p t i o n s E S S I O N S Blackboard 6 Authentication Tom Scavo, Web Project Manager, Bowling Green State University Integrating Blackboard 6 with an existing enterprise authentication and single sign-on solution. Designing, writing and installing a custom authentication module. Using web services to validate client requests. Empowering Faculty with Building Blocks William Koffenberger, Director CIDD, George Washington University The George Washington University (GWU), customized its Blackboard Learning System to meet specific faculty needs. In our centrally managed Blackboard Learning System that includes integration with SCT Banner, faculty tools were requested to add TA’s, guest lecturers, and library users to courses, delete courses and merge/manage multiple courses using ‘course merge’ tools. Sponsor Session: How-to Build NET Applications Using Visual Studio .NET Bruce Jackson, Technical Program Manager, Microsoft How to do some of the most common tasks in Visual Studio including: build a Mobile Application using .NET Compact Framework, build and consume web services, write Windows Forms Application, and write a Windows service. Sponsor Session: Advanced Java Technologies Update Sang Shin, Java Evangelist, Sun Microsystems Learn about Java technologies from a Sun Microsystems expert. Including J2EE, J2ME, and Javacard. 2004 S p o n s o r s Blackboard would like to thank our sponsors for their support of the Second Annual Blackboard Building Blocks Developers Conference P r e s e n t e r s Bob Alcorn Bob Alcorn, Chief Architect, Platform, Architecture and Database Team is responsible for the underlying Blackboard Learning System and Blackboard Portal System design. An original member of the Blackboard team, Bob was lead developer on the Blackboard’s CourseInfo Enterprise software. Bob worked with Matthew Pittinsky and Stephen Gilfus to define the vision of Building Blocks and develop the APIs available today. Carlos Cor tez Yordanos Baharu Jan Poston Day Yordanos Baharu is the Manager of the Instructional Technology Lab at The George Washington University. In this capacity Yordanos oversees the technical operations of the Instructional Technology Lab and the Blackboard implementation at GW. Yordanos has over 10 years experience in Higher Education developing, supporting and implementing Instructional Technology solutions. Jan is the Director of the Building Blocks program. She works closely with the Software Engineering team to ensure that Building Blocks developers have access to the technology and information they need to develop and test their Building Blocks. Jan also works with Building Blocks developers from commercial and academic communities to help them design and market their Building Blocks to the Blackboard community. Jan has over 12 years experience in software development, consulting and business development. Daniel Cane Daniel Cane, Senior Vice President of Research & Development and co-Founder, is a veteran of designing, creating, and deploying e-Learning Education platforms. In 1996, in collaboration with Cornell students and faculty, he built the forerunner of the Blackboard product line. He has been fundamental in the design and release of over seven products into the e-Education space. Mr. Cane is a pioneer in the development of online learning platforms, raising the bar with his products by implementing advanced features while maintaining high degrees of ease of use. Daniel works closely with the Senior Vice President of Software Engineering to evaluate new technologies and products for integration. Daniel is a leader in the design and development of Blackboard Content System. Carlos Cortez, along with Michael Carreon is a leader in the University of Santo Tomas (UST) e-LeAP B2+SI (Building Blocks + Systems Integration) Project under the e-Learning Access Program of the University of Santo Tomas. Carlos is the lead database programmer of the Oracle-based Student Information System of the University. Tracy Engwirda Tracy Engwirda, Principal Consultant, Global Services - Asia Pacific, uses Building Blocks to help clients in her region extend their Blackboard platform and integrate functionality to meet their specific environment and needs. This is achieved through both hands-on design and development of Building Blocks in partnership with the client institutions, and also through training of local developers at these institutions so they can build their own Building Blocks, with the Blackboard Release 6 and Blackboard ML platforms. Steve Feldman Michael Carreon Michael Carreon, along with Carlos Cortez is a leader in the University of Santo Tomas (UST) e-LeAP B2+SI (Building Blocks + Systems Integration) Project under the e-Learning Access Program of the University of Santo Tomas. Michael is a faculty member of the Information and Computer Studies Department of the Faculty of Engineering. Steve Feldman, Director of Performance Engineering is responsible for leading Blackboard’s initiative of Software Performance Engineering (SPE). He leads a team dedicated to promoting the awareness of performance design patterns in the planning and design phases of the application lifecycle, optimizing the existing performance of the application during the development process and executing use case and scenario-based benchmarks during the quality assurance phase of the lifecycle. Steve joined Blackboard in late 2003 after several successful years as a Lead Performance Engineer for Manugistics. One highlight to note at Blackboard is that his team recently implemented SPE during App Pack 2 enabling greater then 2X global performance and capacity gains in the Learning Suite. P r e s e n t e r s Bruce Jackson Tim Moore Bruce Jackson, Technical Program Manager at Microsoft has been writing software for over 25 years. For the past ten years, Bruce has been employed by and for Microsoft to contribute on a number of shipping products, beginning with Windows 95, and to work with Microsoft partners and ISVs. Bruce is certified by Microsoft in C#, C++, and Visual Basic and a Microsoft Certified DBA in SQL Server. Tim Moore, Senior Performance Engineer collaborates with the Software Engineering and Quality Control teams to measure and improve the performance of all of Blackboard’s products. Over the past five years Tim has worked on development and testing of several Blackboard applications, from CourseInfo Enterprise Edition to the upcoming Application Pack 2. Tom Joyce Jeff Nuckles Tom Joyce, Product Manager, is a key member of the Platform, Architecture and Database Team within the Blackboard Software Engineering organization. As a Product Manager, Tom evaluates new technologies and analyzes the impact of integrating these with the Blackboard platform. Prior to joining the Software Engineering team, Tom was a Senior Consultant within the Blackboard Global Services division. While a consultant, Tom worked closely with nearly 100 institutions world-wide to develop custom end user authentication solutions, integrate Blackboard Learning System and Blackboard Portal System with other systems and applications on campus, and build custom tools to meet client needs. Jeff Nuckles is an Instructional Design Specialist for Joliet Junior College in Joliet, Illinois and teaches computer science and graphic design courses at Waubonsee Community College in Sugar Grove, Illinois. Jeff has worked as a freelance graphic designer for companies such as DiscoverCard and built complex web applications for several other businesses. He has developed websites for Bosch, Blaupunkt, ADP and Lion’s Club International. William Koffenberger William Koffenberger is the Director of the Center for Instructional Design and Development and Instructional Technology Lab at the George Washington University. During his tenure at the George Washington University, Mr. Koffenberger has worked on several large-scale university wide faculty development, course development, classroom modernization and distance education projects. Under his direction and leadership his unit created a Web based course management system, specialized and intensive skill development initiatives for faculty, and has collaborated with other campus organizations to facilitate the effective use of technology in the classroom and in distance learning delivery. Mr. Koffenberger serves on several faculty and administrative committees at George Washington University including: Research and Instructional Technology Committee; Center for Instructional Design and Development Advisory Committee; Research Technology Advisory Committee (ad hoc); Columbian College Language Lab Study Group; Electronic Thesis and Dissertations Committee and is the project lead for the Blackboard LS implementation at GW. He also represents GW and higher education institutions through service on the Product Advisory Board for Blackboard Incorporated. Matthew Pittinsky Trained as a social studies teacher, Blackboard Inc. Chairman Matthew Pittinsky comes from a family of educators. A leading executive in the field of e-Learning, Matthew co-founded Blackboard in 1997 with a mission to “transform the Internet into a powerful environment for teaching and learning.” As Chairman, Matthew leads Blackboard’s corporate and product strategy from an educator’s perspective. He also serves as Blackboard’s chief “evangelist” to the academic and financial communities, and leads the company’s internal communications and culture-building activities. In addition to his full time responsibilities at Blackboard, Matthew is a Ph.D. candidate at Columbia University Teacher’s College studying the sociology of online learning. He recently completed his first book project on e-Education as editor of The Wired Tower (Prentice Hall: 2002), and serves as a contributor or commentator to numerous print, radio and television media. Greg Ritter Greg Ritter, Business Development Manager, builds relationships between Blackboard and independent software vendors through the Blackboard Developer Network. A former English professor, Greg has been with Blackboard since 1999, first as a consultant in Global Services then in Business Development. He has worked extensively with both Blackboard clients and Building Blocks vendors. P r e s e n t e r s Zahra Safavian David Yaskin Zahra Safavian, a User Interface Specialist, is responsible for the user interface for the Blackboard Portal System. She works closely with other members of the requirements team to design and test new features that are both attractive and usable. Prior to joining Blackboard, Zahra worked for Catalyst Solutions in Baltimore, MD where she managed projects and wrote requirements, and she was an adjunct faculty member at the University of Baltimore, where she taught introductory Web design and development. David Yaskin, VP President of Product Strategy, coordinates strategy for all components of the Blackboard Academic Suite, manages the Blackboard Portal System team, and is a key advisor to our Building Blocks team. During his 5-years at Blackboard, David has lead Technical Consulting, Product Management, and Quality Assurance. He has 18 years of experience developing and managing software. Tom Scavo Biran Zhang is a Software Engineer at Blackboard who specializes in development using Microsoft .NET technology. Biran graduated from The College of William and Mary in 2002 holding a B.S degree in Computer Science with a Math minor. Since then he has served as a consultant at Stanford University, a key C# developer for ePortaro and the Blackboard Learning System for the Microsoft .NET Framework. Tom Scavo has been involved with web development, web architecture, and web education for over six years. As Web Project Manager at Bowling Green State University, he was the prime architect of BGSU Authentication, which was rolled out concurrently with Blackboard 5 in August 2001. In the fall of 2003, he wrote a Blackboard 6 custom authentication module based on web services, which was released campus-wide in January 2004. While at BGSU, Tom designed and taught courses such as “Web Application Development” and “Enterprise Computing” to advanced undergraduates. In the spring of 1998, from his Syracuse University office in New York, Tom and colleagues synchronously delivered a course titled “Programming for the Web” to undergraduates at Jackson State University in Mississippi. Sang Shin Sang Shin is a Java Technology Evangelist at Sun Micrososytems. Sang’s duties include evangelizing important Java technologies such as Jini network technology, Java 2 Platform, Enterprise Edition (J2EE), Enterprise JavaBeans technology (EJB) and Java 2 Platform, Micro Edition (J2ME), along with related technologies like XML and Web Services, to a worldwide developer audience. Sang Shin has been with Sun Microsystems for more than 14 years working on various research and engineering projects in data communication, networking, and Internet areas. He also teaches computer science courses at Brandeis University. Biran Zhang