csce skills list
TRANSCRIPT
CSCE Skills List
Arjun Dasgupta and Jeffery Williams
(Under the guidance of Dr.Craig W. Thompson)
DRAFT – 11/2/06
Over the four years of their undergraduate studies, Computer Science and Computer Engineering
Department students will learn a variety of technical skills including several of the ones listed on the following pages. This will help them in their courses and, later, on the job.
We extensively used Wikipedia and Google search to come up with the definitions and helpful
links.
Please send corrections and suggested additions to Craig Thompson <[email protected]>.
*The fields marked with an asterisk were considered by an employee of Acxiom Corporation to be less important than other skills with respect to Acxiom Corporations’s needs.
2
1. Categories of Skills
Programming Languages / Markup Languages
ABAP
ActionScript
Assembly Language
Basic
C++
C Programming
Common Lisp
Cascading Style Sheets
C#
Delphi
DHTML
HTML
Java
JavaScript
LISP
Pascal
PERL
PHP
QBasic
Ruby
RPG
REXX
Scheme
SQL
Visual Basic
VHDL
XML
COBOL
LaTeX
SVG
XSLT
Interactive Development Environment (IDEs)
BlueJ
Eclipse
JBuilder
Microsoft Visual Studio
Software Tools
Adobe Photoshop
DAEMON Tools
GoLive
Lotus 123
Microsoft Excel
Microsoft Word
Macromedia Flash
Macromedia Dreamweaver
Open Office
Microsoft PowerPoint
Adobe Premier
Quartus II
Microsoft Visio
ANT
3
Hardware Design Tools
Mentor Graphics
ASIC
IC Design
FPGA/CPLD
Logic Design
MAX+PLUS II Baseline
VHDL
Manufacturers
3Com switches Clockspeed
Architecture Tools
Computer Architecture Client Server
Operating Systems
UNIX
Microsoft Windows
Linux
Mackintosh OS
Solaris
Microsoft Windows Server 2003
MS DOS
Open BSHardware
Connectors
CAT5 Cabling Network Cards
Computer Science concepts
Algorithms
Data Structures
Electronics Engineering
Database
Software Engineering Tools
ANT
Apache
CVS
DAO
DAEMON tools
djbdns
Debugging
DJGPP
EDI
log4j
make
Oracle 8
ODBC
Progress
SSI
4
Frameworks
Java technology
ASP.NET
.net
5
2. Instructors, Courses and Suggestions
This section still needs work. This is intended to be an inventory of what skills are learned or assumed in each course.
Instructors Course Specific Skills Learned in this course
Amy Apon CSCE 1113
Programming Foundations I
C
UNIX.
Russell Deaton CSCE 1123
Programming Foundations II
Java
Vi
Emacs
Xwindows
openSSL
Pat Parkerson CENG 2113
Digital Techniques I
Jia Di CENG 2213
Computer Organizations
digital logic (AND, OR and NOT gates)
Helen Shen CENG 2213
Computer Organizations
digital logic (AND, OR and NOT gates)
John Lusth CSCE 2143
Data Structures
Java
Gordon Beavers CSCE 3313
Algorithms
Wingning Li CSCE 3613 Operating Systems C
UNIX
Linux
Windows
Jia Di CENG 3953
VHDL
Quartus II
Synopsys
Jia Di CENG 4113
Embedded Systems
MPLAB
assembly language to program micro-
controllers
Pat Parkerson CENG 4213
Computer Architecture
Mentor Graphics including Design Manager,
Design Architect, and QuickSim II
Jia Di CENG 4233
Low-Power Digital Systems
Synopsys
Amy Apon CSCE 4253
Concurrent Computing
John Lusth CSCE 4313
Programming Languages
Scheme
LaTeX
HTML
ANT
gdb (debugger used by C programmers)
djgbb (GNU compiler)
vi
emacs
6
cygwin
Wingning Li CSCE 4323 Formal Languages
Pat Parkerson CENG 4353
FPGA/CPLD System Design
VHDL
Quartus II from Altera
Bob Crisp CENG 4423
Computer Systems Analysis
Dale Thompson CENG 4423
Computer Systems Analysis
Bob Crisp CSCE 4513
Software Engineering
Ron Skeith CSCE 4513
Software Engineering
Brajendra Panda CSCE 4523
Database Management Systems
SQL, Oracle
Craig Thompson CSCE 4523
Database Management Systems
SQL
Choice of RDBMS: Access, MySQL, Oracle
9i or 10g, DB2, NCR Teradata
ODBC, JDBC
TBD CSCE 4533
Software Design Patterns
TBD CSCE 4543
Software Architecture
Bob Crisp,
Craig Thompson
CSCE 4561 and CSCE 4963
Capstone I/II
CENG 4571 and CENG 4973
Senior Design I/II
HTML
OpenSSH
Craig Thompson CSCE 4613
Artificial Intelligence
Lisp (exposure)
Prolog (exposure)
Protégé ontology editor
Predicate calculus
TBD CSCE 4623
Intelligent Robot Control
Dale Thompson CENG 4753
Computer Networks
Allen Baker CENG 4813
Computer Graphics
Brajendra Panda CSCE 490
Computer Forensics
Encase
7
3. Skills Listed Alphabetically
A
1. Algorithms – An algorithm is a procedure for accomplishing some task which, given an
initial state, will terminate in a defined end-state. The computational complexity and
efficient implementation of the algorithm are important in computing, and this depends on
suitable data structures. Here are a few useful links : National Institute of Standards and
Technology, Soft Panorama
2. ASIC - is an application specific integrated circuit (IC) customized for a particular use,
rather than intended for general-purpose use. For example, a chip designed solely to run a
cell phone is an ASIC. In contrast, the 7400 series and 4000 series integrated circuits are
logic building blocks that can be wired together to perform many different applications.
Intermediate between ASICs and standard products are application specific standard products. Useful links: University of Hawaii, ASIC-world.com
3. Assembler - is a kind of computer program for translating assembly language —
essentially, a mnemonic representation of machine language — into object code. A cross
assembler (see cross compiler) produces code for one type of processor, but runs on
another. The computational step where an assembler is run is known as assembly time.
Useful links: Programmers Heaven, Soft Panorama
4. *ActionScript - is an ECMAScript-based programming language used for scripting
Macromedia Flash movies and applications. Since both ActionScript and JavaScript are
based on the same ECMAScript syntax, fluency in one theoretically translates easily to the
other. However, while JavaScript's DOM is browser window-, document- and form-centric,
the ActionScript DOM is movie-centric, which may include animations, audio, text and
event handling. Useful links: Macromedia Flash (Adobe) tutorial, Introduction to
Programming with Macromedia Flash MX and ActionScript (PDF)
5. Adobe Photoshop - is a graphics editor developed and published by Adobe Systems. It is
the market leader for commercial bitmap image manipulation, and probably the most well-
known piece of software produced by Adobe Systems. It is considered the industry
standard in most, if not all, jobs related to the use of visual elements. It is usually referred
to simply as "Photoshop". Photoshop is currently available for Mac OS and Microsoft
Windows; versions up to Photoshop 9.0 can also be used with other operating systems such
as Linux using software such as CrossOver Office. Useful links: Adobe Photoshop 7, Good-Tutorials, PhotoshopCafe, Mike’s Sketchpad,Google “photoshop tutorial”
6. ANT - is a software tool for automating software build processes. It is similar to make but
is written in the Java language and is primarily intended for use with Java. Useful links: Apache Ant website, Introduction to Ant (Exubero)
7. Apache - is a free software/open source HTTP web server for Unix-like systems (BSD,
Linux, and UNIX systems), Microsoft Windows, Novell NetWare and other platforms. Useful links: Wikipedia, Apache tutorial
8. *ASP.NET-ASP.NET is a set of web development technologies marketed by Microsoft.
Programmers can use it to build dynamic web sites, web applications and XML web
8
services. It is part of Microsoft's .NET platform and is the successor to Microsoft's Active
Server Pages (ASP) technology. Even though ASP.NET takes its name from Microsoft's
old web development technology, ASP, the two differ significantly. Microsoft has
completely rebuilt ASP.NET, based on the Common Language Runtime (CLR) shared by
all Microsoft .NET applications. Programmers can write ASP.NET code using any of the
different programming languages supported by the .NET Framework, usually C#, Visual
Basic.NET, or JScript .NET, but also including open-source languages such as Perl and
Python. ASP.NET has performance benefits over other script-based technologies because
the server-side code is compiled to one or a few DLL files on a web server. Useful links : Godotnet QuickStart tutorial, FunctionX tutorial
9. Assembly Language- Assembly language, commonly called assembly, asm or symbolic
machine code, is a human-readable notation for the machine language that a specific
computer architecture uses. Machine language, a pattern of bits encoding machine
operations, is made readable by replacing the raw values with symbols called mnemonics.
Assembly is derived from a similar representation called short code, whose programming
'language' was of the same name. Unlike in high-level languages, there is usually a 1-to-1
correspondence between simple assembly statements and machine language instructions. Useful links : OSdata.com, accu.org
10. Antivirus - consists of computer programs that attempt to identify, thwart and eliminate
computer viruses and other malicious software. Useful links : Microsoft’s list of antivirus software
11. *ABAP - ABAP (Advanced Business Application Programming) is a high level
programming language created by the German software company SAP. It is currently
positioned as the language for programming SAP's Web Application Server, part of its
NetWeaver platform for building business applications. Its syntax is somewhat similar to COBOL. Useful links : Introduction to ABAP objects, SAP Development Network
B
12. BASIC- In computer programming, BASIC (an acronym for Beginner's All-purpose
Symbolic Instruction Code [1]) refers to a family of high-level programming languages. It
was originally designed in 1963, by John George Kemeny and Thomas Eugene Kurtz at
Dartmouth College, to allow students not in science fields to use computers. At the time all
computer use required writing custom software, which was something only scientists and
mathematicians tended to do. It became widespread on home microcomputers in the 1980s,
and remains popular to this day in a handful of heavily evolved dialects. Useful links : Google Directory
13. *BlueJ - is an interactive Java development environment, developed mainly for educational
purposes, but also suitable for small-scale development. BlueJ was developed to support
the learning and teaching of object-oriented programming, and its design differs from other
development environments as a result. The main screen graphically shows the class
structure of an application under development (in a UML-like diagram), and objects can be
interactively created and tested. Useful links : BlueJ website, Sun Developer Network, BlueJ tutorial
9
C
14. C++ - is a general purpose programming language with a bias towards systems
programming that is a better C, supports data abstraction, supports object-oriented programming, and supports generic programming. Useful links : cplusplus.com tutorial
15. C programming - is a general-purpose, procedural, imperative computer programming
language developed in the early 1970s by Dennis Ritchie for use on the UNIX operating
system. It has since spread to many other operating systems, and is now one of the most
widely used programming languages. C is distinguished for the efficiency of the code it
produces, and is the most commonly used programming language for writing system
software, though it is also widely used for writing applications. Useful links : About.com, University of Strathclyde Computer Centre
16. Computer Architecture - is the conceptual design and fundamental operational structure of
a computer system. It is a blueprint and functional description of requirements (especially
speeds and interconnections) and design implementations for the various parts of a
computer —focusing largely on the way by which the CPU performs internally and accesses addresses in memory. Useful links : Iowa State University tutorial,
17. 3Com switches - is a manufacturer best known for its computer network infrastructure
products. The company was co-founded in 1979 by Robert Metcalfe and is headquartered
in Marlborough, Massachusetts. The name 3Com comes from the company's focus on "Computers, Communication and Compatibility". Useful links: 3com website
18. CAT5 Cabling - is an unshielded twisted pair cable type designed for high signal integrity.
With the 2001 introduction of the TIA/EIA-568-B standard, the category 5 cabling
specification was made obsolete and superseded by the category 5e specification. Useful link: Cable your own house
19. *CL - Common Lisp is a dialect of the Lisp programming language, standardized by ANSI
X3.226-1994. Developed to standardize the divergent variants of Lisp which predated it, it
is not an implementation but rather a language specification. Several implementations of
the Common Lisp standard are available, including commercial products and open source software. Useful links : Common Lisp link, tutorial
20. CSS - Cascading Style Sheets (CSS) is a stylesheet language used to describe the
presentation of a document written in a markup language. Its most common application is
to style web pages written in HTML and XHTML, but the language can be applied to any kind of XML document, including SVG and XUL. Useful links: w3c link, tutorial
21. *CVS - also known as the Concurrent Versions System, implements a version control
system: it keeps track of all work and all changes in a set of files, typically the
implementation of a software project, and allows several (potentially widely separated) developers to collaborate. Useful link: main webpage, tutorial
22. Client Server - Client-server is a network architecture which separates the client (often a
graphical user interface) from the server. Each instance of the client software can send
requests to a server or application server. A client-server architecture is intended to provide
a scalable architecture, whereby each computer or process on the network is either a client
10
or a server. Server software generally, but not always, runs on powerful computers
dedicated for exclusive use to running the business application. Client software on the other
hand generally runs on common PCs or workstations. Clients get all or most of their
information and rely on the application server for things such as configuration files, stock
quotes, business application programs, or to offload computer-intensive application tasks
back to the server in order to keep the client computers (and client computer user) free to perform other tasks. Useful link : tutorial to build a simple client server
23. C# - It is an component-oriented programming language developed by Microsoft as part of
their .NET initiative, and later approved as a standard by ECMA and ISO. C# has a
procedural, object oriented syntax based on C++ that includes aspects of several other
programming languages (most notably Delphi, Visual Basic, and Java) with a particular
emphasis on simplification (fewer symbolic requirements than C++, fewer decorative
requirements than Java). Useful link: softsteel tutorial, functionx tutorial
24. *COBOL - COBOL is a third-generation programming language. Its name is an acronym,
for COmmon Business Oriented Language, defining its primary domain in business,
finance, and administrative systems for companies and governments. The COBOL 2002
standard includes support for object-oriented programming and other modern language features. Useful links : Tutorial 1, Tutorial 2
D
25. Data Structure - is a way of storing data in a computer so that it can be used efficiently.
Often a carefully chosen data structure will allow a more efficient algorithm to be used. Useful link: National Institute of Standards and Technology
26. DAO – Data Access Objects were an object oriented interface created by Microsoft which
allowed early versions of Microsoft Access and Visual Basic to use the Jet database engine.
Later (in version 3.5) it was able to bypass the Jet engine altogether and directly access
ODBC data sources, including Microsoft SQL Server and other enterprise database
systems. DAO 3.6 was the final version developed by Microsoft. Microsoft says that DAO
will not be available in its future 64-bit operating systems. Useful link: sun, codefutures link
27. Database - is an organized collection of data. The term originated within the computer
industry, but its meaning has been broadened by popular use, to the extent that the
European Database Directive (which creates intellectual property rights for databases)
includes non-electronic databases within its definition. This article is confined to a more
technical use of the term; though even amongst computing professionals, some attach a much wider meaning to the word than others. Useful link: database tutorial, another tutorial
28. DAEMON Tools- is a proprietary disk image emulator for Microsoft Windows that mounts
images of DVD and CD media on virtual drives. The program is able to defeat most copy
protection schemes, like SafeDisc and SecuROM.
29. *Djbdns - is a simple and secure DNS implementation created by Daniel J. Bernstein due to his frustrations with repeated BIND security holes.The package contains:
six servers:
11
dnscache -- the local dns resolver and cache.
tinydns -- a database-driven dns server.
walldns -- a "reverse DNS wall", providing IP to domain name lookup only.
rbldns -- a server designed for dns blacklisting service.
pickdns -- a database-driven server that chooses from matching records depending on the
requester's location. (This feature is now a standard part of tinydns.)
axfrdns -- a zone-transfer server.
Useful links : life with djbdns, a look at djbdns
30. Delegate - Delegates in C# are objects which points towards a function which matches its
signature. Delegates are reference type used to encapsulate a method with a specific
signature. In C++ you accomplish this task by having pointer to a function. Unlike pointers
delegates are type-safe. A delegate in C# allows you to pass a method of class to objects of
other classes. You can pass a method Print in class A class B by wrapping it in a delegate
and class B is able to access the method of class A.Useful link : Softsteel solutions, csharptutorial.com
31. Database Management- A database management system (DBMS) is a computer program
(or more typically, a suite of them) designed to manage a database (a large set of structured
data), and run operations on the data requested by numerous clients. Typical examples of
DBMS use include accounting, human resources and customer support systems. Originally
found only in large organizations with the computer hardware needed to support large data
sets, DBMSs have more recently emerged as a fairly standard part of any company back
office. DBMSs are found at the heart of most database applications. Sometimes DBMSs are
built around a private multitasking kernel with built-in networking support although
nowadays these functions are left to the operating system. Useful links : tutorial 1, tutorial 2
32. Debugging- Debugging is a methodical process of finding and reducing the number of
bugs, or defects, in a computer program or a piece of electronic hardware thus making it
behave as expected. Debugging tends to be harder when various subsystems are tightly
coupled, as changes in one may cause bugs to emerge in another. Generally, high-level
programming languages, such as Java, make debugging easier, because they have features
such as exception handling that make real sources of erratic behaviors easier to spot. In
lower-level programming languages such as C or assembly, bugs may cause silent
problems such as memory corruption, and it is often difficult to see where the initial
problem happened; in those cases, sophisticated debugging tools may be needed. Useful links : University of California at Davis link, codeproject.com tutorial
33. *Delphi- The Delphi programming language was created by Borland and debuted with the
first version of Borland Delphi. Borland sells integrated development environments (IDEs)
that compile the Delphi programming language to Microsoft Windows, the Microsoft .NET
Framework and Linux. The open source Free Pascal project allows the language to be
compiled for Mac OS X, Win64 and Windows CE. The main distinguishing features of
12
Delphi and Kylix from other IDEs are the Delphi language, the VCL/CLX (Visual
Component Library), strong emphasis on database connectivity, and a large number of
third party components.
delegation of interface implementation to a field or property of the class
implementation of message handlers by tagging a method of a class with the integer
constant of the message to handle
COM independent interfaces with reference counted class implementations
can be compiled into native x86 code or managed .NET code.
Useful links : tutorial1, tutorial 2
34. *DJGPP- DJGPP is a 32-bit C/C++ development system for 386 and above PCs that runs
under DOS (it will also work in a DOS window from within an operating system that
supports DOS windows, such as Windows). It was developed by DJ Delorie who started
the project in 1989. It is a software port of the popular gcc compiler, as well as many other
GNU utilities such as cp, ls, mv, and ld, to DOS DPMI (DOS Protected Mode Interface). It
uses a flat memory model, where code and data segments are coincident. Additional
segments can be accessed indirectly. Useful links : DJGPP user’s guide, DJGPP documentation
35. DHTML- Dynamic HTML or DHTML is a method of creating interactive web sites by
using a combination of static markup language HTML, a client-side scripting language
(such as JavaScript), the presentation definition language (e.g. Cascading Style Sheets), and
the Document Object Model. Some disadvantages of DHTML are that it is difficult to
develop and debug due to varying degrees of support among web browsers of the
aforementioned technologies and that the variety of screen sizes means the end look can
only be fine-tuned on a limited number of browser and screen-size combinations.
Development for recent browsers, such as Internet Explorer 5.0+, Netscape 6.0+, and
Opera 7.0+, is aided by a shared Document Object Model. Useful links : tutorial 1, tutorial
2, tutorial 3
E
36. Electronics Engineering - is a professional engineering discipline that deals with the
emission, behavior, and effects of electrons (as in electron tubes and transistors) and with
electronic devices, systems or equipment. The term also now covers a large part of
electrical engineering degree courses as studied at most European universities. Its
practitioners are called electronics engineers in Europe. In the Americas and some other
parts of the world, the term electrical engineer is used to describe a person doing the same
work. Useful links : guide
37. EDI - Electronic Data Interchange is the computer-to-computer exchange of structured
information, by agreed message standards, from one computer application to another by
electronic means and with a minimum of human intervention. In common usage, EDI is
understood to mean specific interchange methods agreed upon by national or international
standards bodies for the transfer of business transaction data, with one typical application
13
being the automated purchase of goods and services. Useful links : EDI introduction, EDI guide for beginners
38. Eclipse - Eclipse is an open source community whose projects are focused on providing a
vendor-neutral open development platform and application frameworks for building
software. The Eclipse Foundation is a not-for-profit corporation formed to advance the
creation, evolution, promotion, and support of the Eclipse Platform and to cultivate both an
open source community and an ecosystem of complementary products, capabilities, and services. Useful links : tutorial 1, tutorial 2
F
39. FPGA/CPLD - is a semiconductor device containing programmable logic components and
programmable interconnects. The programmable logic components can be programmed to
duplicate the functionality of basic logic gates such as AND, OR, XOR, NOT or more
complex combinatorial functions such as decoders or simple math functions. In most
FPGAs, these programmable logic components (or logic blocks, in FPGA parlance) also
include memory elements, which may be simple flip-flops or more complete blocks of memories. Useful links : Altera website, CPLD user guide, FPGA user guide
40. Firewall - is a piece of hardware and/or software which functions in a networked
environment to prevent some communications forbidden by the security policy, analogous
to the function of firewalls in building construction. A firewall is also called a Border
Protection Device (BPD), especially in NATO contexts, or packet filter in BSD contexts.Useful links : firewall FAQs, Microsoft firewall reference guide
G
41. GoLive 5.0- Adobe GoLive is an HTML editor from Adobe Systems. It replaced Adobe
PageMill as Adobe's primary HTML editor. The latest version has been given the "CS2"
moniker, indicating its integration with the rest of the Adobe Creative Suite. Useful links : tutorial 1, tips and tricks
H
42. HTML - HyperText Markup Language (HTML) is a markup language designed for the
creation of web pages with hypertext and other information to be displayed in a web
browser. HTML is used to structure information — denoting certain text as headings,
paragraphs, lists and so on — and can be used to describe, to some degree, the appearance
and semantics of a document. HTML's grammar structure is the HTML DTD that was
created using SGML syntax. XHTML, which applies the stricter rules of XML to HTML to
make it easier to process and maintain, is the W3C's successor to HTML. As such, many
consider XHTML to be the "current version" of HTML, but it is a separate, parallel
standard; the W3C continues to recommend the use of XHTML 1.1, XHTML 1.0, or HTML 4.01 for web publishing. Useful links : tutorial 1, tutorial 2
14
43. Hard Drives - is a non-volatile data storage device that stores data on a magnetic surface layered onto hard disk platters. Useful links : hard drives guide
I
44. IC Design - Integrated circuit design, or IC design, is a subset of electrical engineering,
encompassing the particular logic and circuit design techniques required to design
integrated circuits, or ICs. ICs consist of miniaturized electronic components built into an
electrical network on a monolithic semiconductor substrate by photolithography. Useful
links : IC design reference guide, IC design in Mentor Graphics
J
45. Java technology - is a portfolio of products that are based on the power of networks and
the idea that the same software should run. Useful links : Java reference guide, Sun website
46. JSP - Jackson Structured Programming is a method for structured programming based on
correspondences between data stream structure and program structure. The method is
closely related in concept to creating a parser for a regular expression that describes the
data stream structure, but tries to build a program structure that matches more than one data
stream and provides guidance and techniques to compensate the limited lookahead and the
clashes between the structures of the different data streams. Useful links : tutorial1, tutorial
2
47. Java - Java is an object-oriented programming language developed by James Gosling and
colleagues at Sun Microsystems in the early 1990s. Unlike conventional languages which
are generally designed to be compiled to native code, Java is compiled to a byte code which
is then run (generally using JIT compilation) by a machine. The language itself borrows
much syntax from C and C++ but has a much simpler object model and does away with
low-level tools like programmer-manipulated pointers. Java is only distantly related to
JavaScript, though they have similar names and share a C-like syntax. Useful links : Sun’s tutorial, tutorial 2
48. JavaScript- JavaScript is the name of Netscape Communications Corporation's
implementation of ECMAScript, a scripting programming language based on the concept
of prototypes. The language is best known for its use in websites, but is also used to enable
scripting access to objects embedded in other applications. Despite the name, JavaScript is
only distantly related to the Java programming language, the main similarity being their
common debt to the C programming language. JavaScript has far more in common with the Self programming language. Useful links : guide, manual
49. JavaCC - is an open source parser generator for the Java programming language. JavaCC is
similar to Yacc in that it generates a parser for a grammar provided in EBNF notation,
except the output is Java source code. Unlike Yacc, however, JavaCC generates top-down
parsers, which limits it to the LL(k) class of grammars (in particular, left recursion cannot be used). Useful links : homepage, FAQs
15
50. JUnit - is a unit testing framework for the Java programming language. Created by Kent
Beck and Erich Gamma, JUnit is one, and arguably the most successful, of the xUnit
family of frameworks that originated with Kent Beck's SUnit. JUnit has spawned its own ecosystem of JUnit extensions. Useful links :
51. *JBuilder - is a Java IDE from Borland. It has won several consecutive awards as the most powerful IDE for professional Java Programming. Useful links : Borland site, FAQs, guide
K
L
52. Logic Design - is a process by which an abstract form of desired circuit behavior is turned into a design implementation in terms of logic gates. Useful links : guide
53. *LISP - is a family of computer programming languages with a long history and distinctive
fully-parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-
level programming language in widespread use today; only FORTRAN is older. Like
FORTRAN, Lisp has changed a great deal since its early days, and a number of dialects
have existed over its history. Today, the most widely-known general-purpose Lisp dialects are Common Lisp and Scheme. Useful links : LISP tutorial,
54. *Lotus 123 - is a spreadsheet program from Lotus Software (now part of IBM). It was the
IBM PC's first killer application; its huge popularity in the mid-1980s contributed
significantly to the success of IBM PC in the corporate environment. Useful links : guide, guide 2
55. Log4j - is a Java-based logging utility, and is one of many projects from the Apache
Software Foundation. It is used primarily as a debugging tool. Useful links : Apache site,
manual
56. *LaTeX - , written as LaTeX in plain text, is a document preparation system for
the TeX typesetting program. It is used mainly by mathematicians, scientists, and engineers
in academia. It is also widely used by people outside of these fields as a primary or
intermediate format (e.g. translating DocBook and other XML-based formats to PDF) due
to the quality of typesetting achieved by TeX. Useful links : Official website, Tutorial 1, Tutorial 2, LaTeX Primer
57. Linux - Linux is a free Unix-type operating system originally created by Linus Torvalds
with the assistance of developers around the world. Developed under the GNU General
Public License , the source code for Linux is freely available to everyone. Useful links : Linux official webpage link, The Linux Documentation Project
16
M
58. Microsoft Excel - is a spreadsheet program written and distributed by Microsoft for
computers using the Microsoft Windows operating system and for Apple Macintosh computers. Useful links : tutorial 1, tutorial 2
59. MSA - a computer program or software agent which receives electronic mail messages
from a mail user agent (MUA) and contacts an mail transfer agent (MTA) for delivery of
the mail. Useful links :
60. Microsoft Exchange Server - is a messaging and collaborative software product developed
by Microsoft. It is a part of their Windows Server System line of server products. The use
of Microsoft Exchange is very widespread in large corporations using Microsoft
infrastructure solutions. Among other things, Microsoft Exchange manages electronic mail,
shared calendars and tasks, provides full support for mobile and web-based access to
information, and can support very large amounts of data storage. Useful links : Microsoft
page
61. Microsoft Word - is a word processing application from Microsoft. It was originally written
by Richard Brodie for IBM PCs running DOS in 1983. Later versions were created for the
Apple Macintosh (1984), SCO UNIX, OS/2 and Microsoft Windows (1989). Useful links : tutorial 1, tutorial 2
62. Mentor Graphics - is a US-based multinational corporation dealing in electronic design
automation (EDA) for electrical engineering and electronics, as of 2004, ranked third in the EDA industry it help create. Useful links : tutorial 1, tutorial 2
63. MPI - is a computer communications protocol. It is a de facto standard for communication
among the nodes running a parallel program on a distributed memory system. MPI
implementations consist of a library of routines that can be called from Fortran, C, C++ and
Ada programs. The advantage of MPI over older message passing libraries is that it is both
portable (because MPI has been implemented for almost every distributed memory
architecture) and fast (because each implementation is optimized for the hardware on which it runs). Useful links : tutorial 1, tutorial 2
64. Macromedia Flash - refers to both the Macromedia Flash Player and to a multimedia
authoring program used to create content for this platform (such as games and movies). The
Flash Player, developed and distributed by Adobe Systems (which bought Macromedia), is
a client application available in most dominant web browsers. It features support for vector
and raster graphics, a scripting language called ActionScript and bidirectional streaming of
audio and video. Useful links : tutorial 1, tutorial 2
65. Macromedia Dreamweaver - is a web development tool, created by Macromedia (now
Adobe Systems), which is currently in version 8. Initial versions of the application served
as simple WYSIWYG HTML editors but more recent versions have incorporated notable
support for many other web technologies such as CSS, JavaScript, and various server-side scripting frameworks. Useful links : tutorial 1, tutorial 2
17
66. MS-DOS - is an operating system commercialized by Microsoft. It was the most widely
used member of the DOS family of operating systems and was the dominant operating
system for the PC compatible platform during the 1980s. Useful links : tutorial 1, tutorial 2
67. Make - is a utility that automates the process of converting files from one form to another.
It does so by dependency tracking and invocation of external programs to do additional
work as needed. Its dependency tracking is very simple and centers on using the
modification time of the input files. Useful links : GNU tutorial, guide
68. mySQL- MySQL is a multithreaded, multi-user, SQL Database Management System
(DBMS) with more than six million installations. MySQL AB makes MySQL available as
free software under the GNU General Public License (GPL), but they also dual-license it
under traditional proprietary licensing arrangements for cases where the intended use is incompatible with the GPL. Useful links : tutorial 1, tutorial 2
69. Mail Server- A mail transfer agent or MTA (also called a mail transport agent, mail server,
or a mail exchange server in the context of the Domain Name System) is a computer
program or software agent that transfers electronic mail messages from one computer to
another. It receives messages from another MTA (relaying), a mail submission agent
(MSA) that itself got the mail from a mail user agent (MUA), or directly from an MUA,
thus acting as an MSA itself. The MTA works behind the scenes, while the user usually
interacts with the MUA. The delivery of e-mail to a user's mailbox typically takes place via
a mail delivery agent (MDA); many MTAs have basic MDA functionality built in, but a
dedicated MDA like procmail can provide more sophistication.
70. Mail Server- A mail transfer agent or MTA (also called a mail transport agent, mail server,
or a mail exchange server in the context of the Domain Name System) is a computer
program or software agent that transfers electronic mail messages from one computer to
another. It receives messages from another MTA (relaying), a mail submission agent
(MSA) that itself got the mail from a mail user agent (MUA), or directly from an MUA,
thus acting as an MSA itself. The MTA works behind the scenes, while the user usually
interacts with the MUA. The delivery of e-mail to a user's mailbox typically takes place via
a mail delivery agent (MDA); many MTAs have basic MDA functionality built in, but a dedicated MDA like procmail can provide more sophistication, Useful Links: 1, 2
71. MAX+PLUS II Baseline- Designs for CPLD/FPGA are created on the PC using Altera's
powerful MAX+PLUS II Baseline design software. Useful Links: 1
72. Microsoft Visual Studio - Microsoft Visual Studio is an advanced integrated development
environment by Microsoft. It lets programmers create programs, web sites, web
applications, and web services that run on Microsoft Windows, PocketPC, Smartphones,
and the World Wide Web.
73. Microsoft Visual Studio Express - Microsoft Visual Studio Express is a set of free IDEs
developed by Microsoft that are lightweight versions of the Microsoft Visual Studio 2005
(codenamed Whidbey) product line. The idea of express editions, according to Microsoft, is
to provide a streamlined, easy-to-use and easy-to-learn IDEs for less serious users, such as
hobbyists and students. They were released on November 7, 2005, and were supposed to be
free just for one year. However, Microsoft announced on April 19, 2006 that these editions
will always remain free.
18
N
74. Network Cards - is a piece of computer hardware designed to allow computers to
communicate over a computer network. It is an OSI model layer 2 item because it has a MAC address. Useful Links: 1, 2
75. NetBSD - is a freely redistributable, open source version of the Unix-like BSD computer
operating system. It was the second open source BSD variant to be formally released, after
386BSD, and continues to be actively developed. Useful Links: 1, 2
76. Net - Microsoft .Net is an umbrella term that applies to a collection of products and
technologies from Microsoft. All have in a common a dependence on the Microsoft .NET
Framework, a component of the Windows operating system. Microsoft products and
components that fall into the .Net category include:
The Microsoft .NET Framework, an operating system component required by all .Net products.
ASP.NET
C#, a programming language
Visual Basic .NET, a programming language
Visual Studio, a programmer's development environment.
ADO.NET, a data access library included with the .Net framework. Useful Links: 1
O
77. *Oracle 8 - consists of a collection of data managed by an Oracle database management
system or DBMS. The term "Oracle database" sometimes refers — imprecisely — to the
DBMS software itself. The title of this article — and parts of the article content — perpetuate this confusion. Useful Links: 1, 2
78. OpenBSD - is a freely available Unix-like computer operating system descended from
Berkeley Software Distribution (BSD), a Unix derivative created at the University of
California, Berkeley. Useful Links: 1, 2
79. OSI model - The Open Systems Interconnection Reference Model (OSI Model or OSI
Reference Model for short) is a layered abstract description for communications and
computer network protocol design, developed as part of the Open Systems Interconnection
initiative. It is also called the OSI seven layer model. Useful Links: 1, 2
80. Open Office - is a free and open source office suite, including word processor, spreadsheet,
presentation, vector drawing and database components. It is available for many different
platforms, including Microsoft Windows, Unix-like systems with the X Window System
including GNU/Linux, BSD, Solaris and Mac OS X. It is intended to be compatible with,
and compete with, Microsoft Office. It supports the OpenDocument standard for data interchange, and can be used at no cost. Useful Links: 1, 2
19
81. ODBC - Open Database Connectivity (ODBC) provides a standard software API method
for using database management systems (DBMS). The designers of ODBC aimed to make
it independent of programming language, database system and operating system. Useful Links: 1, 2
P
82. *Pascal- Pascal is based on the ALGOL programming language and named in honor of
mathematician and philosopher Blaise Pascal. Wirth subsequently developed Modula-2 and
Oberon, languages similar to Pascal. Initially, Pascal was a language intended to teach
students structured programming, and generations of students have "cut their teeth" on
Pascal as an introductory language in undergraduate courses. Parts of the original
Macintosh operating system were written in Pascal and Motorola 68000 assembly language
(though later versions incorporated substantial amounts of C++ as well), and the most
frequent high-level language used for development in the early Mac community was
Pascal. In addition, the popular typesetting system TeX was written by Donald E. Knuth in WEB, a variant of Pascal designed for literate programming. Useful Links: 1, 2
83. Microsoft PowerPoint- It is a ubiquitous presentation program developed for the Microsoft
Windows and Mac OS computer operating systems. Being widely used by businesspeople,
educators, and trainers, it is among the most prevalent forms of persuasion technology.
Useful Links: 1, 2
84. PERL - Practical Extraction and Report Language is a dynamic procedural programming
language designed by Larry Wall and first released in 1987. Perl borrows features from C,
shell scripting (sh), awk, sed, Lisp, and, to a lesser extent, many other programming
languages. Useful Links 1, 2
85. PHP - is an open-source, reflective programming language used mainly for producing
dynamic web content and server-side applications. PHP allows interaction with a large
number of relational database management systems, such as MySQL, Oracle, IBM DB2,
Microsoft SQL Server, PostgreSQL, Firebird and SQLite. PHP runs on most major
operating systems including Unix, Linux, Netware, Windows, and Mac OS X, and can interact with many major web servers. Useful Links: 1, 2
86. Print Servers - is a host computer or device to which one or more printers are connected
and that can accept print jobs from external client computers connected to the print server
over a network. The printer server then sends the data to the appropriate printer that it manages. Useful Links: 1
87. Power Supplies - is a device or system that supplies electrical or other types of energy to an
output load or group of loads. The term is most commonly applied to electrical energy supplies. Useful Links: 1, 2
88. Publicfile - is a small web and ftp server, designed for maximum security. It is written and
maintained by Daniel J. Bernstein, famous as the author of qmail and djbdns. Useful Links:
1, 2
89. Project Management-Project Management is composed of several different types of activities such as:
20
Planning the work
Assessing and mitigating risk
Estimating resources
Organizing the work
Acquiring human and material resources
Assigning tasks
Directing activities
Controlling project execution
Reporting progress
Analyzing the results based on the facts achieved/ Useful Links: 1, 2
90. *Progress- Progress is comprised of four operating units: Progress OpenEdge Division,
Sonic Software, DataDirect Technologies, and Progress Real Time Division. Its best
known product is the Progress 4GL language, which was developed in the early 1980s. Useful Links: 1, 2
91. Progress 4GL- Progress 4GL is a 4GL programming language developed by Progress
Software Corporation. It uses an imperative style to do database access. Instead of using
embedded SQL expressions, Progress 4GL uses "FOR EACH" expressions to query a
database or single "FIND" expressions. Next to database access expressions there is a
variety of expressions to define and control forms. The language contains
IF...THEN...ELSE statements and DO...WHILE statements for flow control. Useful Links: 1
92. Premier 6.0- “Adobe Premiere 6.0 is a powerful and surprisingly easy-to-use professional
video-editing tool. This latest version comfortably closes the gap between DV and Web,
and has new support for DV on the Windows platform and cross-platform support for all of
the leading Web video formats. Premiere 6.0 provides direct support for IEEE 1394
(FireWire/i.Link) on both Windows and Mac OS. By using only the DV port on your hard
drive, an IEEE 1394 connection, and your DV camcorder, you get perfect digital video in
Premiere 6.0 every time. Premiere 6.0 offers built-in support for all types of DV devices,
ranging from consumer to professional. By simply connecting a DV device to the IEEE
1394 port on a Windows or Macintosh computer, you can capture DV clips and begin
editing right away. On a computer with an IEEE 1394 port, there's no need to install
additional hardware, such as a video-capture card. Just select the appropriate DV-device
manufacturer and model in the Device Control dialog box, and Premiere 6.0 assigns the
video-input settings that are appropriate to that device--making the video-capture process
more precise. Premiere 6.0's Movie Capture window now includes a Settings tab and a
Logging tab. By using the Settings tab, you can view and edit video-capture settings,
change the capture location, and set device-control preferences. By using the Logging tab,
you can log video clips quickly, set In and Out points, name clips and reels, batch-capture
multiple logged video clips effortlessly, and add comments about each clip. Useful Links:
1, 2
21
93. Portlet - are pluggable user interface components that are managed and displayed in a web
portal. Portlets produce fragments of markup code that are aggregated into a portal page.
Typically, following the desktop metaphor, a portal page is displayed as a collection of
non-overlapping portlet windows, where each portlet window displays a portlet. Useful Links: 1, 2
Q
94. *QBasic - is a variant of the BASIC programming language. The source code is compiled
to an intermediate form within the integrated development environment (IDE), and this intermediate form is immediately interpreted on demand within the IDE. Useful Links: 1, 2
95. QWS3270 - is an update to id Software's Quake, that enhances the game's multiplayer
features (namely TCP/IP support) to allow people with dial-up modems to achieve greatly
improved responsiveness when playing on Internet game servers. Modern broadband
connections such as cable and DSL also benefit greatly from the improved network handling and game physics. Useful Links: 1, 2
96. Qmail - is a mail transfer agent that runs on Unix. It was written by Daniel J. Bernstein as a
more secure replacement for the popular Sendmail program. The author offered a $500
prize for the first person to publish a verifiable security hole in the latest version of the software. Useful Links: 1, 2
97. *Quartus II- Quartus II software version 6.0 enables the highest levels of productivity and
the fastest path to design completion for high-density FPGA design. Dramatically improve
your productivity compared to traditional high-density FPGA design flows.
R
98. *Ruby - is a reflective, object-oriented programming language. It combines syntax inspired
by Ada and Perl with Smalltalk-like object-oriented features, and also shares some features
with Python, Lisp, Dylan and CLU. Ruby is a single-pass interpreted language. Useful
Links: 1, 2
99. *RPG - is a native programming language for IBM's iSeries servers - the latest generation
of midrange servers which included System/38, System/36, AS/400, iSeries and System i5
systems. Its latest incarnation is RPG IV which includes prototyped functions and
procedures, static and dynamic binding, access to C routine libraries, dynamic link libraries, and fully recursive and re-entrant code. Useful Links: 1, 2
100. *REXX - is an interpreted programming language which was developed at IBM. It is a
structured high-level programming language which was designed to be both easy to learn
and easy to read. Both commercial and open source interpreters for REXX are available on
a wide range of computing platforms, and compilers are available for IBM mainframes. Useful Links: 1, 2
101. RFID Technology - Radio Frequency Identification (RFID) is an automatic identification
method, relying on storing and remotely retrieving data using devices called RFID tags or
transponders. An RFID tag is a small object that can be attached to or incorporated into a
22
product, animal, or person. RFID tags contain silicon chips and antennas to enable them to
receive and respond to radio-frequency queries from an RFID transceiver. Useful Links: 1,
2
S
102. *Scheme - is a functional programming language and a dialect of Lisp. It was developed by
Guy L. Steele and Gerald Jay Sussman in the 1970s, initially as an attempt to understand
the Actor model. Scheme was introduced to the academic world via a series of papers now
referred to as Sussman and Steele's Lambda Papers. Implementations tend to differ in
minor details, so sometimes Scheme is referred to as a family of closely related programming languages. Useful Links: 1, 2
103. SQL - is the most popular computer language used to create, modify, retrieve and
manipulate data from relational database management systems. The language has evolved
beyond its original purpose to support object-relational database management systems. It is an ANSI/ISO standard. Useful Links: 1, 2
104. SBS 2000 - SBS means Scandinavian Broadcasting System.
105. Solaris - is a computer operating system developed by Sun Microsystems. It is certified as a
version of UNIX; although Solaris proper is still proprietary software, many core
components have made their way into an open source CDDL version, OpenSolaris. Useful Links: 1, 2
106. Software Programmer - A programmer or software developer is someone who programs
computers, i.e., one who writes computer software. The term computer programmer can
refer to a specialist in one area of computer programming or to a generalist who writes
code for many kinds of software. One who practices or professes a formal approach to
programming may also be known as a programmer analyst, software engineer, computer
scientist, or software analyst. A programmer's primary computer language (Java, C++, etc)
is often prefixed to the above titles, and those that work in a web environment often prefix their titles with "web". Useful Links: 1, 2
107. *SSI - is a form of distributed computing in which by using a common interface multiple
networks, distributed databases or servers appear to the user as one system. In other words, the operating system environment is shared by all nodes in the system. Useful Links: 1
108. SAP - Standard Accounting Program is a business accounting program that handles
inventory and billing. Similar in scope and usage to "Enterprise resource planning". Useful
Links: 1, 2
109. Socket - is the CPU socket used for AMD processors ranging from the Athlon Thunderbird
to the Athlon XP/MP 3200+, and AMD budget processors including the Duron and
Sempron. The socket is a zero insertion force pin grid array type with 453 pins (nine pins
are blocked in the socket to prevent accidental insertion of Socket 370 CPUs, hence the number 462). Useful Links: 1, 2
110. Shell - is a piece of software that essentially provides a kind of interface for end-users.
Typically, the term refers to an operating system shell which provides access to the services
of a kernel. However, the term is also applied very loosely to applications and may include
23
any software that is "built around" a particular component, such as web browsers and email clients that are "shells" for HTML rendering engines. Useful Links: 1, 2
111. SSH - Secure Shell is a set of standards and an associated network protocol that allows
establishing a secure channel between a local and a remote computer. Useful Links 1, 2
112. *SVG - Scalable Vector Graphics (SVG) is an XML markup language for describing two-
dimensional vector graphics, both static and animated (either declarative or scripted). It is
an open standard created by the World Wide Web Consortium, which is also responsible
for standards like HTML and XHTML. Useful links: 1, 2
113. Subnetting - The word subnetwork (usually shortened to subnet) has two related meanings.
In the older and more general meaning, it meant one physical network of an internetwork.
In the Internet Protocol (IP), a subnetwork is a division of a classful network. The rest of
this article is about the second meaning. Useful Links: 1, 2
T
114. Teradata-Queryman - is a relational database management system initially created by the
firm with the same name, founded in 1979. Teradata is part of the NCR Corporation which
acquired the Teradata company on February 28, 1991. It is a massively parallel processing
system running a shared nothing architecture. Useful Links: 1, 2
115. Turbo Pascal - is a compiler and a powerful Integrated Development Environment (IDE)
for the Pascal programming language running mainly on MS-DOS, developed by Borland.
The name Borland Pascal was generally reserved for the high end packages (with more
libraries and standard library source code) whilst the original cheap and widely known
version was sold as Turbo Pascal. Useful Links: 1, 2
116. Tomcat - is a web container developed at the Apache Software Foundation. Tomcat
implements the servlet and the JavaServer Pages (JSP) specifications from Sun
Microsystems, providing an environment for Java code to run in cooperation with a web
server. Useful Links: 1, 2
117. TCP/IP - is the set of communications protocols that implement the protocol stack on
which the Internet and most commercial networks run. It is sometimes called the TCP/IP
protocol suite, after the two most important protocols in it: the Transmission Control
Protocol (TCP) and the Internet Protocol (IP), which were also the first two defined. Useful Links: 1, 2
U
118. UNIX - a computer operating system originally developed in the 1960s and 1970s by a
group of AT&T Bell Labs employees including Ken Thompson, Dennis Ritchie, and
Douglas McIlroy. Today's Unix systems are split into various branches, developed over
time by AT&T, several other commercial vendors, as well as several non-profit organizations. Useful Links: 1, 2
24
V
119. Visual Basic - is an event driven programming language and associated development
environment prototyped by Alan Cooper as Project Ruby, then bought and vastly improved
upon by Microsoft. It is derived heavily from BASIC and enables rapid application
development (RAD) of graphical user interface (GUI) applications, access to databases
using DAO, RDO, or ADO, and creation of ActiveX controls and objects. Useful Links: 1, 2
120. *VHDL - VHSIC Hardware Description Language, is commonly used as a design-entry
language for field-programmable gate arrays and application-specific integrated circuits in
electronic design automation of digital circuits. Useful Links: 1, 2
121. Visio - Microsoft Visio is diagramming software for Microsoft Windows that is part of the Microsoft Office series of applications. Useful Links: 1, 2
W
122. Windows Server 2003 - is the name of Microsoft's line of server operating systems. It was
introduced in April 2003 as the successor to Windows 2000 Server, and is considered by
Microsoft to be the cornerstone of their Windows Server System line of business server
products. Useful Links: 1, 2
123. Windows XP/NT - is the name of a line of operating systems developed by Microsoft for
use on general-purpose computer systems, including home and business desktops,
notebook computers, and media centers. The letters "XP" are short for the word
experience.[1] Codenamed Whistler during its development, Windows XP is the successor
to both Windows 2000 and Windows Me, and is the first consumer-oriented operating
system produced by Microsoft to be built on the Windows NT kernel and architecture.
Useful Links: 1, 2
124. Weblogic 8.1 - is a J2EE application server and also an HTTP web server by BEA Systems
of San Jose, California, for Unix, Linux, Microsoft Windows, and other platforms.
WebLogic supports Oracle, DB2, Microsoft SQL Server, and other JDBC-compliant
databases. WebLogic Server supports WS-Security and is compliant with J2EE 1.3. Useful Links: 1, 2
125. Web Developer - is a broad term that incorporates all areas of developing a web site for the
World Wide Web. This can include graphical web design, actual coding of pages, backend
programming, and web server configuration. However, among web professionals, web
development usually refers only to the non-design aspects of building web sites, e.g. writing markup and coding. Useful Links: 1, 2
126. Win32 API - The Windows API is the name given by Microsoft to the core set of
application programming interfaces available in the Microsoft Windows operating systems.
It is designed for usage by C/C++ programs and is the most direct way to interact with a
Windows system for software applications. Lower level access to a Windows system,
mostly required for device drivers, is provided by the Windows Driver Model in current versions of Windows. Useful Links: 1, 2
25
127. Web Services - is a software system designed to support interoperable machine-to-machine
interaction over a network. It has an interface that is described in a machine-processible
format such as WSDL. Other systems interact with the Web service in a manner prescribed
by its interface using messages, which may be enclosed in a SOAP envelope, or follow a
RESTful approach. These messages are typically conveyed using HTTP, and normally
comprise XML in conjunction with other Web-related standards. Useful Links: 1, 2
X
128. XML - Extensible Markup Language (XML) is a W3C-recommended general-purpose
markup language for creating special-purpose markup languages, capable of describing
many different kinds of data. In other words: XML is a way of describing data and an XML
file can contain the data too, as in a database. It is a simplified subset of Standard
Generalized Markup Language (SGML). Its primary purpose is to facilitate the sharing of
data across different systems, particularly systems connected via the Internet. Useful Links:
1, 2
129. XSLT - Extensible Stylesheet Language Transformations, is an XML-based language used
for the transformation of XML documents. The original document is not changed; rather, a
new document is created based on the content of an existing one. The new document may
be serialized (output) by the processor in standard XML syntax or in another format, such
as HTML or plain text. XSLT is most often used to convert data between different XML schemas or to convert XML data into web pages or PDF documents. Useful Links: 1, 2
Y
Z