E-Book Overview
This text is intended for parallel programming courses within computer science departments at both four-year and two-year colleges. More specifically, this text is ideal for those courses in parallel programming and parallel computing where Java is the preferred language. Parallel programming is an elective course offered within most computer science programs. Parallel programming teaches students how to run programs across several computers, as opposed to running a single program on one computer. One advantage of being able to perform parallel programming is the ability of a computer scientist to test many versions of one problem simultaneously. The course, while an elective, is offered within most computer science departments at most universities. Parallel computing is a stable subdiscipline within computer science - some say that with the more powerful microcomputers being developed, it has the potential to gain more interest in coming years. With the prevalence of Java as a programming language, this book offers a more modern take on parallel programming, which will appeal to customers. This book is much more up to date than any other choices on the market today, particularly the market leader from Morgan-Kaufmann, which has not been updated since 1996. The market is looking for a new, up-to-date option and this book delivers with its Java focus and the credentials of the author. Reviewers commented positively on the author's clear writing style, which will be beneficial to students who often are forced to grapple with muddled texts at these higher levels. The author will make unique Java code samples and toolkits available (student downloads on course.com and also on the instructor's website). This book will help further our advancement into higher level portions of the computer science market as we seek to publish a full breadth of choices for the computer science curriculum.
E-Book Content
Mike Allgyer Spotlight on Careers in Computing Mike Allgyer has a Master’s Degree in Computer Science from Rochester Institute of Technology, and is currently employed at Lockheed Martin as a software engineer. Do you have any advice for students who are deciding between a career in industry or pursuing a more advanced degree? If you can do it financially and you have the drive, go for another degree. Your career will always be there waiting. Many companies now offer tuition assistance as you pursue an advanced degree, so you need to decide if having your education paid for is worth working full-time and going to school at the same time. I went for a Master’s right away and, while I accrued some debt, I’m glad I did. What’s the most interesting project you’ve worked on in the past year? My Master’s project, a real-time ray tracer in CUDA, was interesting for many reasons. For one, it blended so many disciplines—3D graphics, physics, parallel computing, embedded systems—that I really got to stretch myself and tackle a significant project. Also, because CUDA was still relatively new at the time, it was exciting to be working on cutting-edge technology that not many people had much knowledge about. What drew you to your current field of specialization? I always enjoyed computers and technology and doing weird mind puzzles as a kid, but for a long time I really didn’t know what I wanted to do as far as a career. Then I took a few programming courses in high school, and as soon as I realized how fun it was to make a computer solve a problem for me, I was hooked. I also have a very visual and artistic side, so when I discovered 3D graphics, I had found my passion. Where do you see yourself in ten years? I would love to own my own software company someday, but if that doesn’t happen, I would just like to see myself being challenged and developing new technologies. If I’m helping create something that really blows people’s hair back, regardl