Newsletter Spring 2010 STATE OF THE DEPARTMENT Dr. Wolf-Dieter Otte – Associate Chair of EE/CS Please visit our web site http://www.cefns.nau.edu/Academic/CS/ INSIDE THIS ISSUE 1 State of the CS Department 2 CS Careers 2 Student Chapter of ACM 3 Graduate Program in Computer Science 4 CS Course Redesign 4 Game Production with Visual Communications 5 Taking the Show on the Road 6 JavaGrinder Update Hello and welcome to our 2010 edition of the CS program newsletter! This academic year, Professor Eck Doerry is on sabbatical in Germany. I started to take Eck’s place in the summer last year, as an Associate Chair of the combined Electrical Engineering and Computer Science Department. You will wonder: what is the impact of a new, combined EE/CS department? Well, last year we decided to merge with the Electrical Engineering Department. This was a deliberate decision, providing us with many synergy effects and, most importantly, with more political clout, which is critical in these unstable times. On the other hand we will still retain most of our autonomy, e.g. program/curricular authority, budget matters, etc. At this time we are represented by our chair Dr. David Scott, the former chair of the Electrical Engineering Department. In the future, we will be “rotating” chairs every two years. You will remember that our first newsletter was just bursting with new initiatives. All of these contributed to a better visibility of our program and greater stability within our department. This also translated into increasing enrollment. Our CS program has seen a spectacular enrollment growth of about 20% since last year! Naturally, you will want to know how we were affected by the budget crises. Amazingly enough, NAU has weathered the crisis really well, so far. Our president and the upper administration did a very competent job at protecting academia, by carefully saving and reallocating funds. No drastic measures, like cutting departments, programs or faculty positions had to be done so far. On the other hand, the storm is not over yet. Currently, NAU’s state budget is $131M (we used to have $161M at our peak time), which might need to be reduced by another $16M, if the election in favor of the sales tax increase fails in May. In 2012 we will likely lose another $13M as the federal stimulus money runs out. No matter what your position is, please make sure to vote in May. (Cont. on Page 2) NAU Computer Science Newsletter 1 (CONT.) An a more personal note, we are pleased to announce that our dedicated faculty does not spare any effort to provide NAU with new, potential students. In December last year, my wife Sandy gave birth to our little girl. In January, Professors Dan Li and Kefei Wang also had a baby girl. Admittedly, our girls are too young to make a decision on what major to pick yet, but we will work on it! I hope you enjoy our newsletter; we are committed to get one letter out every year in the future. If you are ever in the area or passing through Flagstaff, please drop by. We are always happy to reconnect with our friends and alums and the ACM club is always looking for speakers to share insights. All the best in 2010, Wolf-Dieter Otte, Associate Chair CS CAREERS by Steven M. Jacobs, Adjunct Professor Computer Science majors are again heading into an excellent career. The “Best Careers in 2010” lists from U.S. News and World Report, Wall Street Journal online, and others point to computer science, software engineering, and related careers as still being in demand. Often these careers appear on lists of well-paid entry-level positions, an added bonus (pun intended). I encourage students to create and maintain a current resume. Make sure you take advantage of NAU-provided resources to aid you in your job search, such as seminars (resume writing, interview techniques, etc.) and campus recruiting events. Get a hold of the “Job Search Guide” from the NAU Gateway Student Success Center. Keep in mind many of the jobs may not be precisely what you hoped for – for example, you may be asked to develop software in C++ when you really wanted to do Java, or you may be asked to upgrade a web site using web development tools when you really wanted to build database applications. You may be asked to maintain (i.e. enhance or improve) a large portion of existing, operational code. The key to success in the marketplace is flexibility both in assignments and often geographical preference. It is important to be willing to learn new things and take on new challenges. STUDENT CHAPTER BY OF ACM MEAGHAN WINFIELD NAU ACM PRESIDENT NAU ACM is the NAU chapter of the Association for Computing Machinery. Computer professionals and enthusiasts are welcome to join, where they will learn about fascinating new technologies and gain a deeper understanding of existing technologies. Members of ACM have easy access to tutoring and study materials, and have a quiet area conducive to studying and completing assignments. ACM also provides unique opportunities for members, such as building and programming a robot, creating video games for the ACM game cabinet, and competing in national programming competitions. NAU ACM is well known for its "Demo & A Movie" series, which features a lecture and technical demo given on a range of subjects such as programming languages, robotics, hardware and much more. Students are encouraged to become involved and ask questions, and after they are treated to a movie or special activity to encourage a friendly, relaxed atmosphere. The Digital Carnival events held by ACM are campus wide video game competitions, where members are encouraged to create custom features for tournaments, participate in the planning of a large event, and make friends and connections through shared interests. ACM also holds CS BBQ social events to provide a chance for engineering students to meet and interact with their peers and faculty. Weekly ACM meetings are open to everyone, and are held in room 105 of the engineering building at 6:00 every Thursday. See http://www.nau.edu/acm for more details! Your learning does not stop at NAU. You will be learning new skills and applications on the job throughout your career. (Cont. on Page 3) NAU Computer Science Newsletter 2 STUDENT CHAPTER OF ACM GRADUATE PROGRAM IN COMPUTER SCIENCE (CONT.) DR. JOHN C. GEORGAS One very exciting development for the computer science program is our new master’s degree offering. This newly instituted Master of Science in Engineering (MSE) is focused on two key themes: environmental sustainability and scientific computing. These themes mean that the kinds of projects that students pursue for their degree revolve around the application of computer science techniques, such as modeling and computer analysis and simulation, to improving our understanding of climate and minimizing human impact on the environment around us. The ACM room. A place for CS majors to relax, meet, and work on projects. ____________________________________ PLEASE TRY OUR GAME CABINET IN THE ATRIUM OF THE ENGINEERING BUILDING 69. ALL COMERS ARE INVITED TO SAMPLE GAMES PRODUCED BY NAU CS MAJORS! ____________________________________ This MSE program is a two-year multi-disciplinary course of study: During their time in the program, our students have the opportunity to study advanced topics in computer science, such as parallel and distributed computing, advanced user interfaces, computer networks, and advanced design and architecture, while also studying topics in environmental sustainability and advanced engineering design. For NAU graduates, this program is particularly appealing: A number of courses that students take in their senior year can be used to satisfy MSE degree requirements! In addition to these studies, students will also craft a master thesis that is focused on a research topic of their choosing in which they will have a chance to create a novel solution to one of the many challenges facing our discipline. While the specific research topic of a student’s thesis may vary greatly, our faculty members have significant expertise in a number of areas, including: Human-computer interaction and userinterfaces; Databases and data-mining; Distributed systems and parallel computing; Computer graphics and modeling; and, Software engineering and architecture. In all of these areas of research, there is amazing potential for using the techniques and tools of computer science outside the classroom in service to our community and the natural world around us. The best way to get a better feel for our MSE program is to look at a specific student and his work. Ryan Middleton is an NAU graduate that earned his bachelor’s degree in computer science and transitioned into the MSE program. His thesis work is focused on software engineering for wind turbines, by working on improving the manner in which the software systems that control the operation of small wind (Cont. on Page 4) NAU Computer Science Newsletter 3 JOHN GEORGAS (CONT.) turbines are designed and developed. “I chose the MSE program at NAU because of the program’s emphasis on sustainability and design. This multidisciplinary aspect is a unique experience not offered in many other graduate programs,” Middleton said. GAME PRODUCTION TEAMS COMPUTER SCIENCE WITH VISUAL COMMUNICATIONS DEPARTMENTS BY ABE PRALLE, CS LECTURER For more information about the MSE program, you can look at http://www.cefns.nau.edu/Academic/MSE/ or contact Dr. Otte at Dieter.Otte@nau.edu. Professors Abe Pralle (Computer Science) and Chris Johnson (Visual Communications, a.k.a. VisCom) have teamed up this semester to offer the co-convened "Game Production" class as an upper-level elective for both majors. CS COURSE REDESIGN BY DR. KEFEI WANG CS122 (Programming for Engineering and Scientists) is a large enrollment, lower-division course. The course is required for majors in both Electrical Engineering (EE) and Mechanical Engineering (ME). It covers introductory computer science concepts including algorithms, and gives the student hands-on experience with MATLAB and C++ programming languages. One of the instructional bottlenecks in the course is the limited lab space. In Fall 2009 semester, there were two sections of the class with 150 students total. However, the facility in the lab room can only support 30 students at any given time. The other problem in the course is the inadequate real-world problem solving contents. Students, esp. from EE & ME, need more opportunities to solve data analysis problem from their domain so that they could be better prepared for further study in their discipline. A group of CS faculty members, Dr. Wang, Mr. Jacobs, and Dr. Otte, is working on the redesign of this course. A varied pedagogy will be implemented in the redesign: varying methods of lecture, in-class hands-on exercises with the Clickers system; Elluminate® system to provide a “Virtual Lab” environment; online office hours; more on-line resources and activities to help students better understand concepts; and open source alternatives to reduce the cost for both students and college. These methods have been proved to better fit today’s students who perform better and learn more with varied instructional media and presentation formats. Game Production is a project-based course where teams of VisCom artists pair up with CS programmers to create three digital games over the course of the semester. Each team designs and implements its own games, with the first two games requiring the teams to choose among constraining themes and mechanics (such as "winter" and "radial motion") and the final project being totally open-ended. "At least half of Computer Scientists originally chose their major to make games," Professor Pralle says. "Then they find out there are all these fundamentals to learn and then their career focus tends to shift over the years. It's nice to see them revisiting their original passion as they finish up their college career." To form the initial teams, each student pitched a game idea and then everyone ranked the games they'd like to work on in order of preference. For the second game teams were preassigned, and for the third game the students chose their own teams. "The first teams were aligned by common interest, the second by our own estimates of compatibility, and the third by the students' experiences in their first two teams," Professor Pralle recalls. "It's worked out pretty well." "It's been great professional experience," Professor Johnson says, "working and communicating with teams on these fairly large-scale projects and generating a large body of art - on a deadline - that's consistent and to spec." Professor Pralle agrees. "Games are perfect capstone projects. Not only do you draw on everything you've learned as a CS student – data structures, algorithms, languages, file formats, user interfaces, etc. - but you have to make it fast and efficient. Both professors are happy with the way the class is working out and hope to offer it again down the road. NAU Computer Science Newsletter 4 TAKING BY THE SHOW ON THE ROAD DR. ECK DOERRY In the beginning, there was darkness. Ok, ok, not quite darkness, but certainly twilight: training in computer science and the other engineering disciplines at NAU, as elsewhere around the world, focused exclusively on core disciplinary skills. For us computer scientists, that meant a narrow focus on computer languages, computational theory and programming, programming, programming. There was little focus on the practical skills that are crucial for actually bringing these disciplinary skills to bear in modern computer science practice: teamwork, oral and written technical communication, client-centered design, and project planning and management. As I’ve told students in CS486, Capstone Design, for years, you can be the most brilliant programmer with the most brilliant ideas, but if you can’t communicate and sell those ideas, you’re doomed to being a mere worker bee for the rest of your career. About 15 years ago now, our industrial partners brought this fact to the attention of the then-Dean, and asked if we couldn’t work with them to develop a novel approach to engineering education that integrates extensive training in precisely these “soft skills” as a complement to the already rigorous disciplinary training. The result was the Design4Practice (D4P) program, a curricular concept that focuses on continuous application of core disciplinary skills in applied scenarios: team projects, pseudo-realistic clients, interdisciplinary collaboration, intensive focus on oral and written communication, and exposure to project management. If you graduated from our program in the last 10 years, you know all about this: written deliverables, design review presentations, rigorous team projects, and Gantt charts galore. The D4P program won national acclaim, was awarded the prestigious Boeing Outstanding Engineering Educator prize in 1999, and has been a model for similar programs at other institutions ever since. involves as many disciplines as possible, (b) poses roughly equal challenges for each disciplines, and (c) represents a relevant and inspiring problem will do. The biodiesel plant project meets these criteria: we have including chemical engineers (chemical process design), mechanical engineers (designing the core physical unit of tanks, pumps, hoses, etc.), electrical engineers (sensor systems and automation), computer scientists (control logic and user interfaces), business students (marketability, business plan, costs), and architects (building, layout, community integration). So far, the project has been an incredible learning curve for both me and my colleague Bridget Bero (Chemical Engineering), who is collaborating with me in organizing the project. We’ve survived the incredible German bureaucracy, fought our way through social and traditional inertia, organized people and funds, and recruited a vibrant group of 20 Senior and Masters level students from across six disciplines to work on the project. For me personally, it’s been a challenge to bring my German skills up to a point where I can function effectively as a professor…not easy! It’s been a tough road, but we are ready to go! The actual project semester started on March 15; I’ll report of how it all panned out in the next issue! If you’d like to know more… and are up for practicing your German… you can check out the project website at: http://www.htwdresden.de/~edoerry/iCubed/ Note that you can find a fairly good project description in English under the “Berichte...” link on the site, where various documents about the project are listed. The problem is that the rest of the world is still stuck in…well…”twilight”: in European engineering schools, calcified tradition and age-old walls between the various engineering disciplines have prevented the introduction of D4P like courses: interdisciplinary, team-based, and oriented around a realistic project. The goal of my sabbatical project is to change all of this, to share some of the “light” from our program with our partner school, the University of Applied Sciences, in Dresden, Germany. At the same time, we are hoping to explore some potential improvements to our own D4P program. Project iCubed seeks to pioneer a fully interdisciplinary project-based course at the senior or graduate level. As a topical focus for this first offering, we’ve chosen the design and implementation of a small- to medium scale, fully-automated biodiesel plant. The project topic itself is, in principle, not important; criteria are merely a design problem that (a) NAU Computer Science Newsletter 5 JAVAGRINDER UPDATE BY DR. JAMES PALMER One of the challenges in early CS education is mastering unfamiliar tools and complex frameworks in order to work on even very simple Java exercises. Dr. Palmer has sought to improve this situation by developing JavaGrinder, a web-based platform for introductory CS classes in Java. JavaGrinder emphasizes small bite-sized problems that can range from only a few lines long to involving the construction of multiple classes and whole programs. Since the entire environment is made available online students don’t have to install special software and the Web 2.0-styled interface has a minimal learning curve. Stripped of the development tools and onerous minutia students can concentrate on the core concepts and problem solving skills which we think are the real core of computer science. JavaGrinder Screenshot A recent award from the National Science Foundation is enabling Dr. Palmer and NAU Masters of Science in Engineering student Joe Flieger to explore how JavaGrinder can develop problems that are both accessible and realistic by incorporating modern software engineering processes and real-world inspired programming problems. The next iteration of this software will be launching next semester in CS126. OUTSTANDING FACULTY WHO CARE Classroom in Dresden, Germany where Prof. Doerry is on Sabbatical The Computer Science faculty has varying professional specialties, but all are united by a strong commitment to teaching. Among the special interests of the faculty are Groupware Systems and Intelligent Interfaces (Doerry), Data Mining (Li), Optical Networks and Security (Wang), Graphics and Computational Geometry (Palmer), Distributed Systems and Web Technologies (Otte), Software Engineering and Robotics (Georgas), Games and Virtual Worlds (Pralle), and introductions to software development and user interfaces (Jacobs). Please come see us anytime, make an appointment, ask questions, try our interesting classes, sponsor a project, make a donation, join NAU ACM, tell a friend. There a many ways to get involved. See more about our program at: http://www.cefns.nau.edu/Academic/CS/http://www.cefns. nau.edu/Academic/CS/ NAU Computer Science Newsletter 6