About Us
BYO Sale
What Influences Our Content?

Questions or comments? Click here! to send us email 

The Association for Computing Machinery (ACM) and the Institute for Electrical and Electronic Engineers (IEEE) recommended curriculum topics for professionals in our industry.  Some of those topics are listed below. We plan our curriculum around these topics and others. Excerpts from the Computing Curricula 2001 report follow

... every undergraduate student of computing should:

  • Know what a computer is and understand the functionality of its major components
  • Understand the difference between binary and decimal representations and the effect of representation on numeric precision
  • Be able to use standard computer-based tools, including e-mail, word processing, and spreadsheets
  • Understand the overall mechanics of file systems and directory hierarchies
  • Understand the concept of programming language translation and the distinction between interpreters and compilers
  • Understand the basic functions of an operating system
  • Appreciate the fact that languages and operating systems create a hierarchy of virtual machines
  • Understand the principle of abstraction and its applications to computing
  • Be able to write simple programs in some language
  • Understand fundamental data structures and be able to incorporate them into programs
  • Understand the distinction between procedural and object-oriented programming
  • Be able to apply basic problem-solving techniques
  • Appreciate the concept of an algorithm and the process of algorithmic development
  • Recognize the importance of debugging and be able to use testing and debugging strategies
  • Have some understanding of algorithmic efficiency and the fundamental limits of  computing
  • Understand and be able to apply fundamental principles of software engineering
  • Recognize the existence and utility of standards in the computing field
  • Know what a network is and have a general understanding of how it works
  • Understand the structure of the World Wide Web and simple techniques for creating a web page
  • Be familiar with the concepts of event-driven and real-time programming
  • Understand the basics of the client-server model
  • Understand the functionality of databases and information systems
  • Be familiar with the fundamental principles of human-computer interaction
  • Have sufficient familiarity with discrete mathematics to understand basic logic and the importance of formalism
  • Appreciate the range of areas to which computing can be applied
  • Have a rough understanding of the distinctions among the various computing disciplines
  • Understand something about the economics of computing
  • Recognize the ethical, legal, and professional responsibilities associated with work in the computing field
  • [privacy]