Technical Knowledge

 

Job Tasks  

Representation of Information    

Hardware Architecture    

Systems Principles


Job Tasks
Novice Examples
  •  
Performs routine tasks with specific instructions
  •  
Install simple software
  •  
Run a  test suite and report bugs: write a report on the results
  •  
Write a program following the design recipe, following the structure of data
Advanced Beginner Examples
  •  
Performs small independent tasks under supervision, with some intiative/judgement
  •  
Installs more complex software and trouble-shoots the installation
  •  
Runs a test suite, finds sources of some bugs, fixes small bugs
Competent Examples
  •  
Performs self-contained complex tasks independently; begins to see the big picture
  •  
Within a given constraints design/implement small part of software or a small independent application"
  •  
Design a test suite with documentation
  •  
Administer a small system
  •  
Debug a small system; troubleshoot
Proficient Examples
  •  
Sees the big picture, identifies tasks to be done, makes decisions, takes action
  •  
Design/administer medium sized systems including new components
  •  
Oversee a project through ythe whole development cycle
  •  
Design and build independent applications: understands and questions the context and the constraints

                                                                                           top


Representation of Information
Novice Examples
  •  
Understand the basic formats for data representation: IEEE floating point, ASCII/Unicode, representation of integers, RGB
  •  
Use and generate basic forms of data
  •  
Understand the basic file formats: binary vs. plain text vs. edited text; graphics, html; understand the organization of files into hierarchy of directories
  •  
Use basic file formats in programs and presentations
  •  
Understand and use computer based communications: web, URL, ftp, e-mail, IRC
Advanced Beginner Examples
  •  
Understand some more complex file formats and their uses
  •  
graphics, sound, xml
  •  
Understand the principles of data compression and the difference between lossy and lossless compression
  •  
Understand and use the technologies that support remote access and communications, such as the use of URLs, DNS, ISP
  •  
Understand and use the technologies that support dynamically generated data: XML, database applications, scripting languauges
  •  
Understand the basic security threats (viruses, worms, unauthorized use) and the means to protect the system against them.
Competent Examples
  •  
Demonstrate the basic understanding of the following, with in-depth understanding of at least two:
  •  
Use and design of dynamic web pages and other dynamically geneated data
  •  
Understand the principles and techniques used to protect computer systems against unauthorized use and system failures, such as virus detection, user account management, firewalls, encryption, systematic backups
  •  
Understanding of the principles and techniques for data compression
  •  
Understand the design and use of databases and transaction processing, including the protection of data security, integrity, and privacy
  •  
Understand the design and use of network protocols, including the techniques to assure security, error protection, timeliness
  •  
Understand the design and use of files that represent graphics, sound,and other media
  •  
Understand the use of the language to represent data
Proficient Examples
  •  
Demonstrate competency in the design and support of one of the following:
  •  
Web servers
  •  
Database systems
  •  
System support for users and services
  •  
Programming environments, interpreters, and compilers
  •  
Multimedia presentations, such as web sites, graphics based applications, music, video, interactive applications, games, etc.

                                                                                           top


Hardware Architecture
Novice Examples
  •  
Understand the basic design of a processor: the instruction fetch-decode-excute cycle, instruction format, addressing, assemblers, and the basic interrupt mechanism
  •  
Understand the high level view of computer organizations: CPU, bus, memory, devices
  •  
Understand the basic organization of memory: bits, bytes, direct vs sequential vs. remote access
Advanced Beginner Examples
  •  
Understand the need and the basic principles behind caching and paging as techinques for speeding up the data transfer rate
  •  
Understand the basics of I/O protocols at various levels (internal, external, remote)
  •  
Understand the basics of device management, the inerrrupt system, event handling
Competent Examples
  •  
Not applicable
Proficient Examples
  •  
Not applicable

                                                                                           top


Systems Principles
Novice Examples
  •  
Understand the role of operating system as a resource manager: process manager, memeory manager, file manager, event-handler, network services manager
  •  
Understand what services the operating system provides and how to interact with them
Advanced Beginner Examples
  •  
Understand the key systems priciples for layering the responsibility for management of resources
  •  
Understand the basic principles of I/O transmission modes: synchronous vs asynchronous, word mode vs block mode, the need for and the role of I/O controller
  •  
Understand the basic principles and the design of layered network protocols
  •  
Understand the need for detecting and correcting errors at different levels of computer system hierarchy, including the interface with the real world
Competent Examples
  •  
Design, implement, and support a component of a operating system or of a programming language environment
  •  
Understand the principles of language translation and the role of languages and APIs in defining the abstract machine
  •  
Understand the design and the functionality of the key components of an operating system
Proficient Examples
  •  
Design, implement, and support a substantial component of a operating system or of a programming language environment

                                                                                           top