ACMCrossroads / Xrds14-3 / Introduction

Introduction

Article Glyph

by Justin Solomon, Managing Editor

In this Spring 2008 issue of ACM Crossroads, we continue to bring ACM student members and other readers interested in computer science a variety of exciting content, from tutorials to research papers and advice columns.

We present two technical articles that unify various subfields of computer science and other areas of research outside of computing. Cara Cocking combines the fields of dentistry and combinatorial optimization in her article, "Finding an Optimal Tooth Color Match." In this paper, she presents a new method for designing shade guides, used by dentists to select tooth colors for crowns and other dental implants. By formulating the choice of tooth colors displayed on the shade guide as an integer programming (IP) problem, she is able to choose optimal colors for the guides efficiently and accurately.

In "MultiVizArch: Multiple Graphical Layouts for Visualizing Software Architecture," Amit Sawant and Naveen Bali combine software engineering with visualization to propose new methods for visualizing the complex structures of large software architectures. They apply their methods to depicting the structure of the operating system Data ONTAP 7G, showing in a series of figures the advantages and disadvantages of various layouts they can generate.

For readers interested in getting their hands dirty and trying new programming techniques, Ryan Nauman demonstrates how to create more principled and readable PHP code using the Smarty template engine in his tutorial, "Getting Started with PHP and Smarty." With his advice, you can begin designing dynamic websites with reusable, modular code flexible enough to handle changing technology and client demands. Additionally, Crossroads' very own copy editor Leslie Sandoval contributes a column in this issue dedicated to helping you better approach the technical writing process. Sometimes the hardest part of a computer science project can be communicating with both technical and nontechnical audiences rather than with computers; hopefully, her column, "Technical Writing 101: A Crash Course," can help make this process easier.

Finally, we present an article from the Crossroads archives, "How to Succeed in Graduate School: A Guide for Students and Advisors" by Marie desJardines. Since so many of our readers are graduate students and undergraduates considering the possibility of pursuing additional higher education, we hope that this extended article will shed some light on the best way to achieve a positive graduate school experience.

We also continue to update and revamp our format in an effort to make the magazine both interesting to read and aesthetically pleasing. I am pleased to introduce our new graphics editor, Salik Syed of Stanford University. Salik designed the cover for this issue as well as some of the "glyphs" accompanying the articles. We look forward to seeing more of Salik's artwork in future issues and also thank our previous graphics editor, Scott Dyer, for his years of dedicated artistic service to Crossroads.

As the school year comes to a close and you wrap up your programming endeavors, research projects, and other explorations into computer science, be sure to consider submitting articles describing your discoveries to Crossroads. We encourage submissions from pioneers in computer science at all levels, from high school students and hobbyists encountering the basics of computing to seasoned graduate students and post-docs ready to present full research projects. Now that Crossroads has changed to a more general format, we welcome articles involving any and all subfields of CS, including graphics, AI, bioinformatics, computer architecture, human computer interaction, and computer engineering. Articles can be technical or nontechnical, opinion- or research-based, long or short. Just a short list of potential submissions might include:

  • Columns expressing your opinions and ideas about current issues in computer science, including ethics, education, and research directions
  • Technical papers describing research projects or new algorithms
  • Interviews with professional computer scientists, developers, or entrepreneurs
  • Tutorials describing how to get started using various packages, programming languages, and other development tools
  • Descriptions of the challenges you encountered and any creative solutions you devised during your latest development endeavor
  • More creative entries, including algorithmic challenges, comic strips, humor columns, and puzzles

If you have any questions or want to discuss an article or column idea with the Crossroads staff, feel free to contact us at crossroads@acm.org. Submission instructions can be found at the Crossroads website: http://www.acm.org/crossroads. Please note that submissions are on a "rolling" basis, so you can send your article for consideration at any time. All submissions are subject to a professional review process in which they are examined by professors and practitioners of computer science before acceptance decisions are finalized.

In the meantime, best wishes for a relaxing spring free of compile errors and segmentation faults. Good luck with upcoming final exams and summer internships!

Biography

Justin Solomon (justin.solomon@stanford.edu) is an undergraduate at Stanford University double majoring in computer science and mathematics. Along with his work as the managing editor for ACM Crossroads, he participates in computer graphics research in the Stanford Department of Computer Science, competes on a team for the ACM programming contests, and plays cello and piano.

Copyright 2004, The Association for Computing Machinery, Inc.