Software Engineering and Programming

Available Speakers on this Topic

Margaret Burnett – Corvallis, OR, United States

  • End-User Software Engineering
    End-user programming has become pervasive in our society, with end users programming simulations, courseware, spreadsheets, macros, mashups, and more.  This talk considers what happens when...
  • Information Foraging Theory in Software Navigation
    In this talk, we reconsider the notion of how people go about navigation-intensive tasks like debugging, by exploring a theory that is consistent today's large collections of source code and...
  • Is our software gender-inclusive?
    Gender inclusiveness in the software workforce is receiving a lot of attention these days, but it overlooks a potentially critical factor—the software itself. Research into how...

Gabor Fichtinger – Kingston, ON, Canada

Silvia Giordano – MANNO ,TI, Switzerland

Haitham S Hamza – Giza, Egypt

Tsung-Yi Ho – Hsinchu, Taiwan

Benjamin Kenwright – Leicester, United Kingdom

  • Inverse Kinematics
    Inverse kinematics is the mathematical process for calculating the movement of objects. This is useful in a whole range of fields, from engineering and robotics to medical analysis and...
  • Opportunities and Challenges in Teaching Video Games in Higher Education
    This lecture discusses the opportunities and challenges of video game curricula. The talk explores the diversity of the subject from both an artistic and technical perspective - centred around...

Christoph Kirsch – Salzburg, Austria

  • Selfie and the Basics
    Imagine a world in which virtually everyone at least intuitively understands the fundamental principles of information and computation. In such a world computing would be as natural to people as...

Anis Koubaa – Riyadh, Saudi Arabia

Jeanna N Matthews – Potsdam, NY, United States

Vishnu S Pendyala – San Jose, CA, United States

  • Software Development in Large Organizations
    Large organizations can leverage the economies of scale in a number of ways, particularly in the area of Software Engineering. DevOps, which evolved as a dominant Software Engineering...

Abhik Roychoudhury – Singapore, Singapore

  • Software Debugging as a Science
    Program debugging is an extremely time-consuming process, and it takes up a large portion of software development time. In practice, debugging is still very much of an art, with the...
  • Symbolic Analysis Methods for Software Debugging and Repair
    In recent years, there have been significant advances in symbolic execution technology, driven by the increasing maturity of constraint solvers as well as by the availability of cheap...

Valentina Salapura – NY, United States

  • High Performance Computing at IBM

    High-performance computing technologies are entering the mainstream in a transition ready to revolutionize entire industries.  Today, clusters, grids and virtualization infrastructure at...

  • Technology Futures: IBM's Global Technology Outlook
    Join us for a look at IBM's vision for the near term future, or as IBM terms it, IBM's Global Technology Outlook (GTO).  IBM Research and its global community of some of the...

Hanan Samet – College Park, MD, United States

Xipeng Shen – Raleigh, NC, United States

Richard Stallman – Boston, MA, United States

  • The GNU General Public License
    Richard Stallman wrote the first GNU General Public License in 1989, and version 3 which was completed in 2007.  He will discuss  the philosophy of the GNU GPL, the changes made in...

Venkat Subramaniam – Broomfield, CO, United States

  • Functional Programming
    Most of the mainstream languages have supported the imperative style of programming for a very long time. Functional programming has been around for a few decades but it's finally gaining...
  • Java 8 Lambda Expressions, the Pathway to Functional Style
    Java 8 has been one of the most significant changes to the language. It is not simply the introduction of some new syntax, but a fundamental different way of thinking that we're used to when...
  • The Power and Perils of Parallel Streams
    Java 8 makes it really easy to convert a stream to a parallel stream, to run tasks concurrently. When come thing is that easy we tend to ask "what's the catch" and that's a very...
  • Twelve Ways to Make Code Suck Less
    The quality of the code we create has a significant impact on our ability to change the software in the future. As programmers succumb to time and deliver pressures, the quality of code may get...

Aida Todri-Sanial – Montpellier, France

Arun Vishwanath – Melbourne, VIC, Australia

Wan Abdul Rahim Bin Wan Mohd Isa – Shah Alam, Malaysia

Bebo White – San Francisco, CA, United States

  • Preparing for the Internet of Things
    The Internet as we have known it for the past three+ decades is in the midst of a major and disruptive change. “The Internet of Things (IOT)” will bring opportunities that could...

Tao Xie – Raleigh, IL, United States

Moustafa A Youssef – New Borg Elarab City, Alexandria, Egypt

Kang Zhang – Richardson, TX, United States