Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Pre-Exam Lecture Final Examination is scheduled on Monday December 18th at 1:30PM in class There are 8 questions with or without subparts and the exam carries 30 Marks Let us look at the topics included in the exam 1 Topics in Exam *Algorithms Architecture of the Processor (ALU, Data Path and Memory Interface) Operating Systems Searching and Sorting a List *Binary and Hex Numbers Digital Logic 2GL, 3GL and 4GL concepts 2 Topics in Exam Software Engineering Basic Concepts *Waterfall model and spiral model Arrays, Contiguous and Linked Lists, Stacks and Binary Search Tree Database Systems (Network and Relational) Symmetric Key Encryption and publicprivate key encryption Ethics in Computing 3 *Algorithms An algorithm is a step by step method to solve a problem with a definite reachable termination state Most algorithms can be developed by following the instructions below: – Read the problem statement and rewrite it in your own words to make it simple – Consider nouns used and identify the data items – Consider the verbs used and identify the actions4 to be taken *Algorithms – Write the initial algorithm in terms of WHAT is to be accomplished – Refine each step of the initial algorithm to include the details of HOW the step would be accomplished In the exam, expect a question that asks you to develop an algorithm for solving a given problem on computer DO NOT WRITE A C++ PROGRAM IN YOUR ANSWER 5 Architecture It is important to understand how the processor executes a program The processor obtains instructions one by one from memory through a “bus” using PC Instructions are loaded in IR(instruction register) in the control unit Operands are brought into the data path ALU operates on the operands and result is 6 sent to memory or held in registers Operating Systems Operating systems are programs that run the computers Distinguish between batch and interactive systems Think about the “time-sharing” systems Think about Windows, UNIX and other operating systems 7 Searching and Sorting a List We looked at the while statement that is needed in searching and sorting operations while loop is recommended when it is not known how many times the loop will execute We developed two algorithms for searching a list for the occurrence of a target value In the first algorithm, the list was sorted so we had to stop the search if current value exceeded the 8 Searching and Sorting a List In the while loop continuation condition, we used logical AND continue the search if target not found AND current entry is less than target AND the current entry is not the last entry Incase of unsorted list, the condition “current entry is less than target” is deleted 9 Sorting a List “Insertion Sort” algorithm was demonstrated in the class It was applied on a list of names. Insertion sort assumes the first name belongs in the sorted section and remaining names are in the unsorted section. It will take the members of the unsorted section one by one and place them in the sorted section at an appropriate location 10 *Binary and Hex Numbers Binary system has just two symbols 0 and 1 It represents all values in patterns of 0 and 1 Like decimal system, binary is also positional number system It means that the position of a bit in a pattern carries a weight Weights are powers of 2 increasing from rightmost bit towards left, starting at 0 for integer values(Example: 1101) 11 *Binary and Hex Numbers Hex system has 16 symbols, all the way from 0 to F It is also positional number system. For example, 1F, 1A, 2B Its digits carry weights expressed as powers of 16 starting from 0 at the rightmost bit position in the integer values 12 *Converting Binary/Decimal Binary to decimal conversion assigns position numbers. These are written as powers of 2, then all products are added Example: 1001 Conversion from decimal to binary involves dividing the number repeatedly by 2 until a value less than 2 is left. Writing the remainders in each step from last value to first value will give us the binary equivalent13 Digital Logic Boolean logic consists of three operations AND,OR,NOT and two values 0 and 1 AND operation results in a 1 only if BOTH operands are 1 OR operation results in a 1 if ANY operand is equal to 1 NOT operation turns a 1 into 0 and a 0 into 1 Our focus is on converting real-life situations into logical expressions 14 Programming Language Generations We talked about 2GL,3GL,4GL and 5GL These are different generations of programming languages that evolved over time 2GL is the assembly language (mnemonics such as MOV, ADD, STOR etc.) 3GL are problem oriented and 4GL are user oriented languages 15 Software Engineering We introduced the motivation for software engineering and why is it so important We looked at waterfall model and spiral model of SE activities 16 *WaterFall Model Diagram Adapted from "Software Engineering A Practitioner's Approach" by Roger Pressman 17 *The WaterFall Model This model is a sequence of stages During analysis, the user requirements are identified and systems specs. are prepared During design, the number of modules and their interconnection is finalized. The data types and structure is specified During coding, actual programming is done Testing is done to make sure there are no 18 errors (alpha-release and beta-release) Spiral Model It was realized that the waterfall model is not optimal as it is a one-way model If a problem is discovered in a later stage, there is no way to go back and correct the problem Therefore, spiral model was proposed in which the SE activity occurs in a spiral thus giving a chance to correct the mistakes 19 Spiral Model Diagram Adapted from "Software Engineering A Practitioner's Approach" by Roger Pressman 20 Data Structures Arrays Contiguous lists Linked lists Stacks Binary Search Trees Expect one to two questions from these topics, mostly specific 21 Databases We covered network database model and relational database model In the network model, several information files are linked with physical disk addresses In relational database model, a search is performed on a primary field in every file 22 Encryption Symmetric key encryption was covered with examples showing the use of XOR logical operation of the value with a key for both encryption and decryption DES was introduced that uses a 56-bit key The problem of key distribution led to public-private key algorithms where encryption and decryption is carried out 23 with separate keys Ethics Expect a short question related to ethics in computing. Maybe a specific case requesting your opinion 24 How do you feel about computers? yep THE END no 25