Technical Knowledge

 

Job Tasks  

Representation of Information    

Hardware Architecture    

Systems Principles


Job Tasks
Evaluate the ability of working within and betweem team(s).
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
Evaluate the ability of understanding information represenation, organization, communication, compression, security, etc.
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
Evaluate the ability of understanding the devices of computers and their working principles.
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
Evaluate the ability of understanding the components of operating systems.
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