User talk:R0ckman17

cos3-java programming

OOP-programming paradigm that uses objects to design application & computer program Objects-data structures consisting of data fields and method together w/c their interactions Fundamentals concepts & features Class-an abstract characteristics of a thing including the behavior Object-a pattern of a class Method-an objects ability Inheritance-a way to form new classes using classes that have already been defined Encapsulation-conceal the functional details of a class from objects that send message to it. Polymorphism-ability of one type to appear as & be used as another type Information hiding-involves providing interface w/c projects the remainder of a program implementation James Gosling-developed java programming at sun Microsystems w/ the name oak. 1995-year java programming was developed.

Statements-one more lines of codes terminated by a semicolon. Block-sometimes called compound statements. -group of statements bound by braces({}). Comments-a text that is not executed by the program. White space-spaces between elements of the source code w/c is treated as a single space. Identifier-a name given to a variable, class, or method. Java data types 1.Class type-use to create objects a.primitive data types 1.textual a.char-single character and must be enclosed by (‘ ’) b.string-represent sequence of character. 2.Logical-represented using the Boolean type 3.Integral type-a whole number value a. byte- 8 bits b. short- 16 bits c. int- 32 bits d. long- 64 bits 4.Floating point-number w/c contain a decimal point a.float- 32 bits b.double- 64 bits

operators in java 1. Arithmetic operator 2. Relational operator 3. Conditional operator

Java program structure 1.Branching statements-also called conditional -enables selective execution of portion of the program according to the value of some expression Uses: a. If else statement b. Switch case statements

2. Looping statements-executes a blocks of code repetitively a. For loop-loops executed on a predetermined times. b. Do/While loop-number of times loops are executed is not predetermined.

Break statements- use to prematurely exit from block statements Continue statements- use to skip over & jump to the end of the loop body & return control. Label- identifies any valid statements. Array-is a group of variables of the same data type and referred to by a common name.An array is contiguous block of memory locations referred by a common name.

COS4-introduction to internet w/ java script

Internet-a large collection of computers all over the world that are connected to one another in various ways. Communications tools 1.Electronic mail (email)-electronic hi-way that transport information. 2.information resources-on-live version of newspaper, magazines, government & books after a wealth of information greater than the holding of a library 3.software program 4.business to business communications 5.discussion 6.entertainment 7.retail business File transfer protocol(FTP)-a program that builds a bridge between computer internet protocol(IP). World wide web(WWW)-a subset of computers on the internet that are connected to each each oter in a specific way that makes those computers accessible history of internet ARPA/DARPA-(advance research protect agency)-a group computer professional who develop the internet. Internet components 1.physical-hardware/cp/cpu 2.model-web browser 3.account-isp web Search engine-a special type of web page that matches a word or phrase you entered into it. 2	types of search engine 1.specific-a question w/c is easy to phrase and nave a direct answer. 2.exploratory-an open ended question w/c hard to phrase & don’t have a direct answer. Elements of a web browser 1. Title bar-where you can see the title of the page 2. Status bar-where you can see the status of the page you are using 3. Menu bar-contains the main menu 4. Toolbar-contains button of commonly used command 5. Scroll bar-use to move object up & down, left or right 6. Address bar-where you can see the current URL of your desire url. 7. Web page area-the main contents of your page
 * mailing list-a single email address that contains thousand of individual email address
 * Homepage-a local file that automatically loads when the way browser starts & when the home button is pressed
 * Uniform resource protocol(URL)-specifies where the identified resource & the protocol from retrieving it.
 * web page-a resource of information suitable for www & can be viewed by a web browser

Elements of web page Normal text-only a text Hyperlink-a navigation elements that jumps from the one page to another. Ex word Heading Image Page title-the same as title bar Page body-the same as web page area

cos5-operating system.

OPERATING SYSTEM- is as set of system software routines that sits between the application program and the hardware. Figure 1.1 the operating system serves as an interface between the application programs and the hardware. The operating system can be viewed as plat form for writing application programs. Platform-os routines that interface with the application program represent a consistent platform.

The components of a modern operating system.

User interface-sometimes called the shell, provides a mechanism for the user and application programs to communicate with the operating system and request operating system support. File management-sometimes called the file system, incorporates routines that allow the user or programmer to create, delete, modify, and manipulate files by name. Device management-function is responsible for controlling communications with the system peripheral device, such as the keyboard, display screen the printer and secondary storage. Memory management-is concerned with managing the system main memory resources as the computer runs, allocating space to applications as needed and ensuring the those applications do not interfere with each other. Processor management-is concerned with efficiently managing the processor’s time.

MEMORY-a computer main memory holds currently active programs and data. A program must be stored in memory before in cab be executed. Data must be stored in memory before the computer can manipulate them.

Physical memory-a computer memory holds binary digits, or bits. Read memory, you extract the contents but you do not change them. Write memory, you record new values and thus destroy the old contents. RAM-can read or write. ROM-can read but not written

Bytes and word-a single bit can hold either a o or a i. the contents of memory are envisioned as groups of bits called bytes and word. Byte-contains enough bits to represent a single character. Computer are able to manipulate a group of bytes called a –word.

Addressing memory-memory capacity is typically measured in megabytes. Each bytes is assigned a unique –address. The processor access a specific memory location by referencing its address.

Cache memory-is a one way to increase processing speed is to move program instructions and data from memory to the processor more quickly. Figure 2.2

Processor-called the cpu or main processor, is the component that manipulates data. A processor can do anything w/o a program to provide control. Figure 2.3

Program instructions-is a series of instructions, each of which tells the computer to perform one of its basic function: add, subtract, multiply, divide, compare, copy, start input, or start output.

The processor components-the processor contains four key components. ICU-fetches instructions from memory. ALU-consists of the circuits that add, subtract, multiply, and so on. REGISTER-are temporary devices that hold control information, key data and intermediate results. CLOCK-generates precisely timed electronic pulses that synchronize the other components. Figure 2.5

Machine cycles-a good way to understand how a computers internal components work together to execute instructions id to use a model of a simple computer system to illustrate a few machine cycles. Figure 2.6a, an instruction control unit during E-time.

Microde-sometime called firmware, lies between memory and the processor.

Input and output devices-provide a means for people to access a computer.

Secondary storage-is a fast, accurate, inexpensive, high-capacity, nonvolatile extension of main memory.

Diskette-a thin circular piece of flexible polyester coated with a magnetic material. Diskettes are typically used to store backup copies of files and to transfer data and software form one computer to another. The data on a diskette are recorded on a series of concentric circles called tracks. The tracks are subdivided into sectors. It is the contents of a sector that move between the diskette and memory.

Hard disk-is a faster and has a much higher storage capacity; typically measured in gigabytes (billions of bytes). Backup-given the tremendous capacity of hard disk, losing one, through human error, fire, flood, or similar disaster, can destroy a great deal of important data. The backup copy is used to restore its contents.

Other secondary media-magnetic tape is a common backup medium. Accessed through high-speed drives, tape is fast with data transfer rates comparable to disk. CD-ROM-is used to hold large amounts of data, such as an encyclopedia. DVD-can be written.

The directory- To record the starting address of each of its files, a portion of the disk first track is set aside to hold a directory. The programs and data files stored on a disk are listed in the disk directory.

Linking the components-data are stored in a computer as patterns of bits. Interface-the functions of an interface board: a. input from the keyboard enters the interface and is converted to the computer internal form. Buffer-is temporary memory or storage used to adjust for the speed differential between adjacent devices. Channel-on a microcomputer, they are performed by each interface; in effect, they are duplicated for each device on the system. On larger machines, these common functions are assigned to data channel.

HARDWARE, SOFTWARE AND DATA -a computer is a machine that processed data under control of a stored program. All 3 elements hardware, data, software—must be present or the system cannot function.

Software-a program-is a series of instructions that guides a computer through a process. Instruction-tells the machine to perform one of its basic function. Typical instruction- contains an operation code that specifies the function to be performed and a series of operands that specify the memory locations or register holding the data to manipulated. Absolute and relative addressing-a computer memory is addressed by numbering the byte sequentially up to the total number of bytes in memory. –fetching and storing the contents of individual bytes by referencing their byte numbers. Relative address-is and address expressed relative to some base location. When the routine is subsequently loaded into memory the absolute address of its entry point is stored in a register, thus a base address for the routine. The process of coverting a relative address to and absolute address is called dynamic address translation.

Programming language-an Assembler program reads a programmers mnemonic source statements and translates each one to a single machine level instruction. Compiler-reads a programmers source statements and translates each one to one or more machine level instructions. Interpreter-in contrast works with one source statements at a time, reading it, translating it to machine level. Nonprocedural language-(sometime called fourth generation or declarative language)-the programmer simply defines the logical structure of the problem and lets the language translator figure out how to solve it.

Traditional structured software-consits of a series of logical modules linked by a control structure. Figure 3.5

Object-oriented software-approach to software development is to design and write the software as a set of independent objects linked b signals. Object-is a thing about w/c data are stored and manipulated. An object contains both data and methods. Method-is a process that accesses and manipulates the object data. Hiding implementation details in this way is called encapsulation. Objects communicate by transmitting and responding to signals. Signals-are sent and received by entities called operations. Operation-is an external view of the object that can be accessed by other objects.

Libraries-source code is stored on a source statement library. The source statements are compiled and an object module is created. An object module is a machine language translation of a source module that may include references to other subroutines that are not part of the object module. A load module- is a complete, ready to execute program with all subroutines in place. Linkage editor or loader-combines object modules to form a complete, ready to execute load module.

Reentrant code-reentrant program or program module does not modify itself. It is possible for several user to share the same logic segment.

Data-are stores on hardware as pattern of bits. Data elements-is a single, meaningful unit of data, such as a name, a social security number, or a temperature reading. Data structures- is a particular way of storing and organizing data in a computer so that it can be used efficiently. List-most basic data structures. Linked list-each node contains data plus a pointer to the next node. Stack-is a special type of linked list in w/c all insertions and deletions occur at the top. Queue-is a special type of linked list in w/c insertions occur at the rear and deletions occur at the front.

Data files-file->in a file, fields are grouped to form records and the file is a set of related records.

Relative record concept-a relative record number indicates a records positions relative to the first record in the file.

Access technique-

Database management- is an integrated collection of logically related records or files consolidated into a common pool that provides data for one or more multiple uses.

pe.

Table tennis is a sport in which two or four players hit a lightweight, hollow ball back and forth with rackets. The game takes place on a hard table divided by a net

3 old name of table tennis a.	gossima b.	wiff waff c.	ping pong

Ball-38mm in diameter, 2.5g in weight. It is made of celluloid. Racket-color red & black are the faces of the racket. Net-must be attach to the 2 port of the table, 15.25cm in height. Table-2.74m in length by 1.53m in width

Grip-Competitive table tennis players grip their rackets in a variety of ways. The manner in which competitive players grip their rackets can be classified into two major families of styles. One is described as penhold, and the other shakehand.

Penholder-The penhold grip is so-named because one grips the racket similarly to the way one holds a writing instrument. The style of play among penhold players can vary greatly from player to player

Types of shots -types of strokes include backhand and forehand.

OFFENSIVE STROKE Speed drive-These strokes differ to ones from other racket sports like tennis. The racket is primarily perpendicular to the direction of the stroke, and most of the energy applied to the ball results in speed rather than spin, creating a shot that does not arc much, but is fast enough that it can be difficult to return

Loop drive-Essentially the reverse of the speed drive. The racket is much more parallel to the direction of the stroke ("closed") and the racket thus grazes the ball, resulting in a large amount of topspin. A good loop drive will arc quite a bit, and once striking the opponent's side of the table will jump forward, much like a kick serve in tennis. A. The loop-The "Loop" produces a more pronounced loopy arc, with a higher trajectory and extreme topspin, but is typically slower B. The loop kill (rush in china)- The "Loop Kill" produces a flatter arc, with higher speed that resembles a speed drive but with stronger topspin, typically used for replacing speed drive or smash in "put-away" situations. C. The hook-Similar to a regular Loop, but carries a tilted topspin (or is referred as the "top-side" spin), it bounces sideways and downward upon hitting the table. Similar to but stronger than the defensive "side-drive" described below. Counter drive-Usually a counter attack against drives (normally high loop drives). You have to close the racket and stay close to the ball (try to predict its path). The racket is held closed and near to the ball

Flip-When a player tries to attack a ball that has not bounced beyond the edge of the table, he/she does not have the room to wind up in a backswing

Smash-The offensive trump card in table tennis. A player will typically execute a smash when his or her opponent has returned a ball that bounces too high and/or too close to the net

Shimmy-This shot is a newly created shot that is very tricky, but is used to arouse a company. A player raises his/her dominate leg up, and then puts the dominate hand under the leg

DEFENSIVE STROKES Push-The push is usually used for keeping the point alive and creating offensive opportunities. A push resembles a tennis slice: the racket cuts underneath the ball, imparting backspin and causing the ball to float slowly to the other side of the table.

Chop-A chop or cut is the defensive, backspin counterpart to the offensive loop drive. A chop is essentially a bigger, heavier slice, taken well back from the table. The racket face points primarily horizontally, perhaps a little bit upward, and the direction of the stroke is straight down.

Block-The block or short is a simple shot, barely worthy of being called a "stroke," but nonetheless can be devastating against an attacking opponent. A block is executed by simply putting the racket in front of the ball—the ball rebounds back toward the opponent with nearly as much energy as it came in with

Push-Block-High level players may use what is called push block or active block, adding speed to the ball (with a small topspin movement). When playing in the Penhold Grip, many players use push blocks when being pressured on the backhand.

Kill spin-Kill spin is a new shot that is played only when the ball bounces low just on the other side of the net. To play the shot, you must stand at the side of the table, open your bat angle, and bend your arm, then, you as lightly and as softly as possible just touch the ball over the net and bring your bat back slightly

Side drive-This spin shot is alternately used as a defensive and offensive maneuver. The premise of this move is to put a spin on the ball either to the right or the left of the racket. The execution of this move is similar to a slice, but to the right or left instead of down.

Lob-The defensive High Ball or Lob is possibly the visually most impressive shot in the sport of table tennis, and it is deceptive in its simplicity. To execute a High Ball, a defensive player first backs off the table 4-6 meters; then, the stroke itself consists of simply lifting the ball to an enormous height before it falls back to the opponent's side of the table

Drop shot-The drop shot is a high level stroke, used as another variation for close-to-table strokes (like harai and slice). You have to position the racket close to the ball and just let the ball touch it (without any hand movement) in a way that the ball stays close to the net with almost no speed and spin and touches the other side of the table more than twice if the opponent doesn't reach it

Topspin-This is a spin shot that can be used as a powerful spike or just getting the ball on the other person side of the table. To do this shot you must slightly touch the top of the ball with the racket. This is a very easy shot to do, but may require a bit of practice

cos6-visual basic

Visual basic (VB)-is the third generation event-driven programming language and integrated development environment (IDE) from Microsoft for its COM programming model.

Features of vb-enables the rapid application development (RAD) of graphical user interface (GUI) applications; access to database using data access objects, remote data objects or active data objects; creation of active controls and objects.

Drag and drop design for creation the user interface is derived from a prototype form generator developed by Alan Cooper and his company called tripod Microsoft.

Timeline Visual basic 1.0 for DOS was released in September 1992. Visual basic 2.0 was released in November 1992. Visual basic 3.0 was released in the summer of 1993 and came in standard and professional version. VB3. Visual basic 4.0 (august 1995) was the first version that could create 32 bits as well as 16 bit windows program. Visual basic 5.0 (February 1997), Microsoft released visual basic exclusively of 32 bits versions of windows. Visual basic 6.0 (mid 1998) improved in a number of areas including the ability to create web-based applications. Mainstream support for Microsoft visual basic 6.0 ended on march 31, 2005, extended support ended in march 2008.

Menu/toolbar- this is the only element of the IDE which is always visible. You use it to select which other IDE elements to view and to add forms or controls to your project.

Toolbox- the toolbox is simply a library of controls which you can place on your application.

Project window- this is simply a list of all the forms which make up your VB project.

Property window- things as push-buttons, scrolling text boxes, pictures boxes and other features of most VB applications allow you to enter parameters which define how these controls work in VB, these parameters called properties.

Forms- you add these to your VB applications as they are needed. They are the windows which hold the various controls (buttons, text boxes, etc.) which make up your applications.

Code window-like its name implies, this is where you type in the code that VB executes. Notice that the heading of the window indicates with which event the code is associated.

Variable-is a named, volatile memory location which serves to store/hold data. Name- a tag used to identify the variable in VB code. Address-a location in memory where the variables value is stored. Type-the “type” of data the variables may store. The data type determines the possible range of values the variable can store, as well as how much space in memory the variable will occupy. Value-contents of memory starting at the address and having the size as determined by the type.

Types of variables 1.Local variables-is only available w/n the procedure in w/c it is defined. This means that identical variables names may be used in different procedures w/c conflict. 2.Module variables-is available to all procedures w/c that module, but not to procedures in any other form of code module. 3.Public variables-are available to very procedure in every module of your code. Variables are defined with public keyword.

Data type 1.Boolean-has only two states, true and false. These types of variables are stored as 16 bits (2 byte) numbers, and are usually used for flags. 2.Byte-is an 8 bit variable which can store value from 0 to 255. This data type is very useful for storing binary data. 3.Double-is a 64 bit floating point number used when high accuracy is needed. 4.Integer-is a 16 bit number which can range from -32768 to 32767. Integer should be used when you are working with values that can contain fractional numbers. 5.Long-is a 32 bit number, can only contain non-fractional integer values. 6.Single-is a 32 bit number. This is the data type you use for fractional numbers. 7.String-is usually used as a variable-length type of variable. A variable-length string can contain up to approximately 2 billion characters.

ce-logic design with switching theory

1. Bit is the basic unit of information in computing and telecommunications; it is the maximum amount of information that can be stored by a device or other physical system that can normally exist in only two distinct states. 2. Byte (pronounced /ˈbaɪt/) is a unit of digital information in computing and telecommunications. It is an ordered collection of bits, in which each bit denotes the binary value of 1 or 0. Historically, a byte was the number of bits used to encode a character of text in a computer[1][2] and it was for this reason the basic addressable element in many computer architectures.

3. Characteristics of binary number-

4. Attributes of binary number-

5. Binary system arithmetic operation A. Addition-The simplest arithmetic operation in binary is addition. Adding two single-digit binary numbers is relatively simple, using a form of carrying: 0 + 0 → 0 0 + 1 → 1 1 + 0 → 1 1 + 1 → 0, carry 1 (since 1 + 1 = 0 + 1 × 10 in binary) Adding two "1" digits produces a digit "0", while 1 will have to be added to the next column. This is similar to what happens in decimal when certain single-digit numbers are added together; if the result equals or exceeds the value of the radix (10), the digit to the left is incremented: 5 + 5 → 0, carry 1 (since 5 + 5 = 0 + 1 × 10) 7 + 9 → 6, carry 1 (since 7 + 9 = 6 + 1 × 10) This is known as carrying. When the result of an addition exceeds the value of a digit, the procedure is to "carry" the excess amount divided by the radix (that is, 10/10) to the left, adding it to the next positional value. This is correct since the next position has a weight that is higher by a factor equal to the radix. Carrying works the same way in binary: 1 1 1 1 1 (carried digits) 0 1 1 0 1 +  1 0 1 1 1 - = 1 0 0 1 0 0

B. Subtraction-Subtraction works in much the same way: 0 − 0 → 0 0 − 1 → 1, borrow 1 1 − 0 → 1 1 − 1 → 0 Subtracting a "1" digit from a "0" digit produces the digit "1", while 1 will have to be subtracted from the next column. This is known as borrowing. The principle is the same as for carrying. When the result of a subtraction is less than 0, the least possible value of a digit, the procedure is to "borrow" the deficit divided by the radix (that is, 10/10) from the left, subtracting it from the next positional value. *  * * *   (starred columns are borrowed from) 1 1 0 1 1 1 0 −    1 0 1 1 1

= 1 0 1 0 1 1 1

C. Multiplication-Multiplication in binary is similar to its decimal counterpart. Two numbers A and B can be multiplied by partial products: for each digit in B, the product of that digit in A is calculated and written on a new line, shifted leftward so that its rightmost digit lines up with the digit in B that was used. The sum of all these partial products gives the final result. Since there are only two digits in binary, there are only two possible outcomes of each partial multiplication: If the digit in B is 0, the partial product is also 0 If the digit in B is 1, the partial product is equal to A For example, the binary numbers 1011 and 1010 are multiplied as follows: 1 0 1 1  (A) × 1 0 1 0  (B) -          0 0 0 0   ← Corresponds to a zero in B   +     1 0 1 1     ← Corresponds to a one in B   +   0 0 0 0 + 1 0 1 1    ---   = 1 1 0 1 1 1 0

D. Division-Binary division is again similar to its decimal counterpart: Here, the divisor is 1012, or 5 decimal, while the dividend is 110112, or 27 decimal. The procedure is the same as that of decimal long division; here, the divisor 1012 goes into the first three digits 1102 of the dividend one time, so a "1" is written on the top line. This result is multiplied by the divisor, and subtracted from the first three digits of the dividend; the next digit (a "1") is included to obtain a new three-digit sequence: 1       ___________ 1 0 1   ) 1 1 0 1 1        − 1 0 1          -            0 1 1

6. Characteristics of logic families A. Transistor Logic- is a class of digital circuits built from bipolar junction transistors (BJT) and resistors. It is called transistor–transistor logic because both the logic gating function (e.g., AND) and the amplifying function are performed by transistors (contrast this with RTL and DTL).

B. Complementary metal–oxide–semiconductor (CMOS) is a technology for constructing integrated circuits. CMOS technology is used in microprocessors, microcontrollers, static RAM, and other digital logic circuits. CMOS technology is also used for a wide variety of analog circuits such as image sensors, data converters, and highly integrated transceivers for many types of communication. Frank Wanlass successfully patented CMOS in 1967

7. Boolean algebra (or Boolean logic) is a logical calculus of truth values, developed by George Boole in the 1840s. It resembles the algebra of real numbers, but with the numeric operations of multiplication xy, addition x + y, and negation −x replaced by the respective logical operations of conjunction x∧y, disjunction x∨y, and complement ¬x. The Boolean operations are these and all other operations that can be built from these, such as x∧(y∨z).

8. Truth table A. Complementation- is a concept used in comparisons of sets to refer to the unique values of one set in relation to another. The terms "absolute" and "relative" complement refer to more specific applications of the concept, with universal complements referring to elements unique to the universal set and the latter referring to the unique elements of one set in relation to another.

B. Addition-is the mathematical process of combining quantities. It is signified by the plus sign (+). For example, in the picture on the right, there are 3 + 2 apples—meaning three apples and two other apples—which is the same as five apples. Therefore, 3 + 2 = 5.

C. Multiplication-is the mathematical operation of scaling one number by another. It is one of the four basic operations in elementary arithmetic (the others being addition, subtraction and division).

D. Commutative law- is the property that changing the order of something does not change the end result. It is a fundamental property of many binary operations, and many mathematical proofs depend on it. The commutativity of simple operations, such as multiplication and addition of numbers, was for many years implicitly assumed and the property was not named until the 19th century when mathematicians began to formalize the theory of mathematics.

E. Associative law-is a property that a binary operation can have. It means that, within an expression containing two or more occurrences in a row of the same associative operator, the order that the operations are performed does not matter as long as the sequence of the operands is not changed. That is, rearranging the parentheses in such an expression will not change its value

9. Logic gate A. Buffer-is a region of memory used to temporarily hold data while it is being moved from one place to another. Typically, the data is stored in a buffer as it is retrieved from an input device (such as a keyboard) or just before it is sent to an output device (such as a printer). However, a buffer may be used when moving data between processes within a computer

B. Inverter or NOT gate is a logic gate which implements logical negation. Just use the binary value 1. If the original value of 1, the result is 0, and vice versa, if the original value of 0, the result is 1.

C. Or gate- is a digital logic gate that implements logical disjunction - it behaves according to the truth table to the right. A HIGH output (1) results if one or both the inputs to the gate are HIGH comparing 2 binary value. If at least one value 1, the result is 1. If both value 0, the result is 0.

D. And gate- is a digital logic gate that implements logical conjunction - it behaves according to the truth table to the right. A HIGH output (1) results only if both the inputs to the AND gate are HIGH comparing 2 binary values. If both are worth 1, the result is 1. If one or both is 0, the result is 0.

E. Xor gate- is a digital logic gate that implements exclusive disjunction - it behaves according to the truth table above. A HIGH output (1) results if one, and only one, of the inputs to the gate is HIGH membandingakn 2 binary values. If one of them is 1, the result is 1. If both values are both 0 or 1, the result is 0. F. Nand gate- is a digital logic gate that behaves in a manner that corresponds to the truth table to the left. A LOW output results only if both the inputs to the gate are HIGH. If one or both inputs are LOW, a HIGH output results. The NAND gate is a universal gate in the sense that any boolean function can be implemented by NAND gates.