FUND OF COMP SC AND ENGR
FUND OF COMP SC AND ENGR CECS 230
U of L
Popular in Course
Popular in Computer Science and Engineering
This 11 page Class Notes was uploaded by Cora Connelly on Friday October 23, 2015. The Class Notes belongs to CECS 230 at University of Louisville taught by Staff in Fall. Since its upload, it has received 21 views. For similar materials see /class/228347/cecs-230-university-of-louisville in Computer Science and Engineering at University of Louisville.
Reviews for FUND OF COMP SC AND ENGR
Report this Material
What is Karma?
Karma is the currency of StudySoup.
You can buy or earn more Karma at anytime and redeem it for class notes, study guides, flashcards, and more!
Date Created: 10/23/15
Chapter 1 Data Storage 0 Boolean Operations 0 ANDquot Y B o ORv 3 0R 0 XOR A l BjgtiAaB EOR 0 NOT A NWT A A NOT 0 Flipflop circuit circuit built from gates that can store one bit 0 Mass Storage 0 Magnetic Discs I Constant angular velocity with track divided into sectors 0 CDROM I Constant linear velocity with one continuous track 0 Magnetic Tape I Sequential access not random access 0 Flash Memory I Finite number of readwrite cycles not subject to magnetic fields 0 Binary Numbers 0 Binary 11012 o Decimal 1310 o 2 s Complement Notation I 1St bit sign bit 0 positive 1 negative I Toggle bits I Add 1 I Then transfer as usual 0 Overflow I Adding two positive numbers yield a negative number I Adding two negative numbers yield a positive number 0 Hexadecimal notation Binary Hexadecimal Decimal 0000 0 0 0001 1 1 0010 2 2 0011 3 3 0100 4 4 0101 5 5 0110 6 6 0111 7 7 1000 8 8 1001 9 9 1010 A 10 1011 B 11 1100 C 12 1101 D 13 1110 E 14 1111 F 15 o Floating Point Notation I 1st bit sign bit 0 positive 1 negative I Bit 234 exponent Bit Pattern Value 111 3 110 2 101 1 100 0 011 1 010 2 001 3 000 4 I Bit 5678 mantissa CHAPTER 2 Data Manipulation 0 Main Memory gt Bus gt Cache gt Registers slowest gt fastest 0 Machine Codes QPCODE QP39ERAND E A39noll RXV 2 km LOAD reg R wilh bit naitem XY a my stE c reg R no address xv 4 ms MOVE Creg R in mg 5 5 RST ADD cheg R clregs CreslTl 2 s camp 6 RST ADD Creg R Cregs alregn Fromm 7 RST OR crregR crregs oR CregT 3 KEY AND CregR megs AND cmgn s RST xoR cregR cregSXOR reqT A Rnx ROTATE Cng in me ngm x times 5 km JUMP m inr rzgR cregc c mm HALT 0 Logical Operators 0 Turn 39ON39a bit I Use maskwith 1 in spots where you want the bit turned on 0s elsewhere I Original byte OR mask 0 Toggle a bit I Use maskwith 1 in spots where you want bit toggled 0s elsewhere I Original byte XOR mask 0 Turn OFFa bit I Use maskwith 0 in spots where you want bit toggled 1s elsewhere 0 Controller 0 Hardware that listens to communications on the bus 0 Interprets instrux and communicates with the device and responds to CPU CHAPTER 3 Operating Systems 0 NOT ON TEST CHAPTER 4 Networking and the Internet 0 Internet Addressing IP Address pattern of 32 or 128 bits often represented in dotted decimal notation o Mnemonic address domain names yahoocom 0 Domain name systems DNS name servers 0 Internet 0 Away of connecting networks that isn t disrupted by local disasters 0 Chain of Command Tier 1 gt Tier 2 gt Access ISPs gt End Systems 0 Routing Table 0 Know direct neighbors 0 IP AND bitmask 0 World Wide Web 0 Typical URL http 39 Nahum much L Julius caesarmtml l Mnemonic name of Document name host holding the document Protocol required Directory path to access the in icating the document In location of the this case it is document within hypertext transfer the host39s protocol lhttp file system 0 HTML 0 Start with lthtmlgt end with lthtmlgt o ltbodygt o lth1gt header goes up to 5 o ltpgt 2 starts new paragraph 0 lta href yahoocom gt Click here ltagt links to other page or document 0 InterProcessCommunication o Clientserver I One server many clients I Client initiates communication 0 Peertopeer I Two processes communicating as equals 0 Security 0 Attacks malware viruses denial of service spam 0 Protection firewalls spam filters proxy servers antivirus software CHAPTER 5 Agorithms 0 Algorithm an ordered set of unambiguous executable steps that define a terminating process 0 Algorithm basis of problem solving 0 Must lead to an end 0 Represented in pseudo code a common language for all programmers 0 Algorithm Control Types 0 Iterative have looping control structures collection of instructions repeated in a looping manner I Easier to understand and more efficient o Recursive call themselves repeating the set of instructions as a subtask of itself 0 Searches 0 Sequential start at first element and query each consecutive element until you 1 find target 2 reach end o Binary requires an ordered list start at center element and subdivide until 1 0 elements are left 2 find target 0 Binary search is generally more efficient 0 Big llOquot Notation o Classifies algorithms according to complexity in time or space o 1 00 Ogx if limna m Ifnynl lt so 0 Typical BigO Complexities Best gt Worst I 01 gt getting specific element from list I Ologzn gt Binary Search dividing list in half I On gt scanning a list I Onlogzn gt MergeSort I Onz gt Bubble Sort MatrixVector multiply Insertion Sort I Onc gt nested for loopsc levels I Ocquot I On 0 Time to solve problem depends on data I Averagecase time I Bestcase time data is well suited for algorithm I Worstcase time data is such that algorithm performs poorly timewise CHAPTER 7 Software Engineering 0 Development Phases 0 Requirements Specifications I Determines business objectives I Understands customers needs and wants I Goal is to specify what services the proposed system will provide and identify any conditions on those services Prototyping visual side of program with no guts UNDERSTAND PROBLEM BEFORE CODING 0 Design I Creating a plan for the construction of the proposed system I Modularity 0 Separate things into specific sections 0 Difficult to understand entire systems 0 Ideally only need to understand a few modules to correct a bug I Information Hiding 0 Limit access as much as possible 0 NO global variables unless constants 0 Limit access to variables data and internal logic I Coupling 0 Limit dependencies between modules 0 Control coupling one module calling another 0 Data coupling data being used in multiple locations 0 Minimize coupling gt more modularity Cohesion 0 How focused the responsibilities of a module are 0 Logical cohesion logically similar tasks in one module 0 Functional cohesion all parts of a module are focused on a single activity 0 Increase cohesion gt decrease coupling 0 Implementation 0 Testing Actual writing of the programs creating of data files and development of databases Take the design specifications and code Successful test identifies a bug Impossible to test all paths Equivalence classes 0 Similar inputs that vary ie can lead to discovery of bugs 0 Use data relative and applicable to the use of the program Boundary Testing 0 Values close to limits are most error prone 0 Check barely valid and invalid values Black Box Testing 0 Testing is done supplying inputs to mysterious code 0 Performed from users point of view 0 Usually tested with actual users of the system and checked on system level and component level White Box Glass 0 Testing values based on code 0 Applied to unit test 0 Spotting possible bugs based on the code Basis Path Testing 0 Test every line of code 0 Develop inputs that will run through all possibilities that could exist within your code 0 No line should be left 39 Ior 39 after Test Coverage 0 Applications that attempt to test your code and run it through all possibilities to break the code AlphaBeta Testing 0 Alpha early release within company or organization for testing 0 Beta early release to public 0 Pros Others find bugs promotes product before official release I Waterfall Method 0 Requirements 0 Design 0 Construction 0 Integration 0 Verification 0 Installation 0 Maintenance Iterative Model 0 Initial Planning gtPanning gt Requirements gt Analysis amp Design gt Implementation gt Testing gt Evaluation gt Deployment o BOLD Repeated if necessary Extreme Programming 0 Style of programming used to help develop design implement test and finalize programs Simplicity 0 Making modules or functions simple and not adding extra quotclunkquot code in order to create simple yet effective designs I Pair Programming 0 Two programmers one computer 0 One codes while the other watches and tries to catch for any bugs or issues that could arise 0 Slow but less bugs in code I Unit Testing 0 Helps locate and narrow down manageable chunks of code to identify bugs 0 Regression tests prevent the bug from reentering the code I Continuous Integration 0 Nightly builds are done on the code to ensure that no bugs are issues no one can leave until it works 0 DOCUMENT DOCUMENT DOCUMENT CHAPTER 8 Data Abstractions 0 Data Structures 0000 Are reusable Implementation independent 3 types for now stacks queues trees Static fixed size and location normally arrays Dynamic variable size and location linked lists Stacks 0 Last In First Out LIFO o Operators I Push put an element on top I Pop removes and returns top element I Peek inspect top element but don t remove Queues 0 First In First Out FIFO 0 Operators I Enqueue add element to tail I Dequeue remove and return element from head I Count returns quantity in the queue Circular Static Queue 0 Fixed size capacity 0 Array static data structure 0 Tail wraps around the array to 0 index 0 If tailhead queue is empty Binary Search Trees 0 Each node I Max of 2 children I Left child has value less than parent right child has value greater than parent I No duplicate entries 0 Array Representation I Root of tree index 1 I Left child of element in index n is in index 2n I Right child of element in index n is in index 2n1 I Easier to not start at 0 o Binary Tree Traversal I INORDER TRAVERSAL I Left gt self gt right I Worstcase On best case 0logn CHAPTER 9 Databases Types of Data bases 0 Tables relational model I Like Excel most smaller websites 0 Objects I Store C objects directly I Internal database to software 0 KeyValue pairs I Ex Pablo Picasso birth gt 25 Oct I Large websites like Google and Amazon 0 Extreme Data bases I Scalability more data than a single computer can hold I Speed all of it is searchable in milliseconds I Reliability all data accounted for even ifa machine fails I Distributed across 100 s or 1000 s of computers 0 BigTable I Data stored in lla sparse distributed multidimensional sorted mapquot I Supervisor machine stores which computer contains which piece of data I Thousands of machines I Add or lose a machine without reconfiguring I Disadvantages large overhead to setup large cost to run all computers 0 Relational Tables I Named tables data accessed by row I Uses relational algebra o Structured English Query Language SQL 0 SELECT I Shows which columns to keep 0 FROM I Tells which database you re pulling from 0 WHERE I Conditions for what you want displayed specifies which rows to keep I Use gt lt gt lt o LIKE I LIKE lMic has to be in first part I LIKE blue case sensitive can be anywhere I LIKE lCECS case sensitive can be anywhere 0 ORDER BY I Defaults to ascending but descending can be specified desc o GROUP BY I Groups together similar things and can count them 0 HAVING I Not allowed WHERE count gt 2 I Allowed HAVING count gt 2 o JOIN I Joins tables together in large database I EX FROM tablel JOIN table2 ON tablelcolX table2colY CHAPTER 11 Artificial Intelligence Al 0 AI gt originally aimed at mimicking human intelligence 0 Search Trees 0 Depth First Search I Traverse child before siblings A 39 7 V 3 we 4 r5 O I o BreadthFirstSearch I Traversesiblingsfirstthen children lt11 in g l 2 3 4 A j 395 55 M 3 51gt 10 iii cf Heuristics 0 Two Requirements I Efficient gt ifthe heuristic is slow it may be more efficient to construct the entire tree and look at every state I Accurate gt ifthe accuracy is questionable wrong paths more often will be taken Machine Learning o It is finding patterns in large amounts ofdata Artificial Neural Networks 0 Each input is multiplied by a weighting factor 0 Output is 1 ifsum of weighted inputs exceeds the threshold value 0 otherwise 0 Network is programmed by adjusting weights using feedback from examples Nearest Neighbor 0 Most simple algorithm may be the Nearest Neighbor algorithm 0 Steps I Memorize every training example I Classification involves searching through all examples to find closest match I Output class ofclosest match 0 Very fast to train Simply save the data set 0 Can be very slow to classigy new examples but very simple to implement OTHER AREAS TO STUDY 0 Student Presentations 0 ESSAY In a hypothetical situation our university must close one of three departments Accountancy Emergency Medicine or CECS Defend the CECS department Consider the claims of the other departments Be sure to answer the underlying question How does society benefit from a software engineer
Are you sure you want to buy this material for
You're already Subscribed!
Looks like you've already subscribed to StudySoup, you won't need to purchase another subscription to get this material. To access this material simply click 'View Full Document'