EW7 Assignment: (FCN) Functions
|
|
- Whitney Green
- 6 years ago
- Views:
Transcription
1 EW7 Assignment: (FCN) Functions The purpose of this assignment is to introduce the concepts and syntax of writing functions in MATLAB. Note: Use the template provided (FCN Template.m) in the assignment download to complete this assignment. For this assignment the autograder does not rely on the format of this file, but it will help you to organize and test your functions. This completed assignment, named FCN Firstname Lastname.m, should be uploaded to Canvas along with the.mat file that is generated by the autograder. You may run the autograder as many times as you like to check your work as you complete the assignment; the.mat file will be regenerated each time, and your score will only be recorded based on the.mat file that you upload. You will also publish your m-files and upload a PDF version of the result to Canvas. Remember to upload the following to the Canvas website: FCN Firstname Lastname.m FCN Firstname Lastname.pdf FCN Score.mat All function files that you are asked to create Directions to upload files can be found at how-do-i-upload-a-file-to-my-assignment-submission Function Basics 1. Write a function called MyTimeConversion with the following function declaration line. 1 function [Hours, Minutes, Message] = MyTimeConversion (TotalMinutes) The input argument TotalMinutes should be a nonnegative scalar integer representing the total number of minutes in a specified time interval. The output arguments Hours and Minutes should be nonnegative scalars such that Hours*60 + Minutes = TotalMinutes and the value of Minutes must be less than 60. The output argument Message must be a char array. A few examples below illustrate what it s properties should be. Notice that time units should be singular (i.e. minute, hour) if the value is 1, and plural (i.e. minutes, hours) if the value is not equal to 1 (including 0). Also, if TotalMinutes equals 1, the verb should be is instead of are. For TotalMinutes = 151, Message should equal the char array 1 of 7
2 151 minutes are equal to 2 hours and 31 minutes. For TotalMinutes = 84, Message should equal the char array 84 minutes are equal to 1 hour and 24 minutes. For TotalMinutes = 60, Message should equal the char array 60 minutes are equal to 1 hour and 0 minutes. For TotalMinutes = 181, Message should equal the char array 181 minutes are equal to 3 hours and 1 minute. For TotalMinutes = 1, Message should equal the char array 1 minute is 0 hours and 1 minute. 2. To protect information security, secret messages are usually encrypted using an encryption key, turning them into a sequence of apparently meaningless characters called the ciphertext. The goal of encryption is that adversaries who intercept the ciphertext are not be able to determine anything about the original message. An authorized party, however, is able to decrypt the ciphertext if they know the key. Write a function Convert with function declaration line 1 function strout = Convert(strIn,key,mode) to encrypt or decrypt a message using some simple rules below. The input arguments are: strin: 1-by-N char array. It may be the original message, or it may be the ciphertext (see mode below) key: 1-by-K char array. It, along with a rule given below, defines exactly how strin is to be encrypted/decrypted; mode: char array that determines whether Convert is encrypting or decrypting. This input variable has two possible values, encrypt or decrypt. The output argument is: strout: 1-by-N char array. It is the encryption or decryption of strin The encryption/decryption method is described as follows: (a) Horizontally concatenate key with itself, creating a long string keyl, so that numel(keyl)>=numel(strin) is true. Then, remove (as needed) the last few characters in keyl so that numel(keyl)==numel(strin) is true. You can carry this process out exactly as described, or do this is a different manner, as long as the final value of keyl is correct. For example, if strin equals E7 is a course introducing Matlab. 2 of 7
3 and Key equals MonWed then keyl should equal MonWedMonWedMonWedMonWedMonWedMonW so that strin and keyl both have 34 characters. (b) Create double arrays that respectively contain the ASCII codes of the characters in instr and keyl. If mode is equal to encrypt, add these two double arrays, and then for each element in the array, add mod(i,10) to the i th element. In other words, add 1 to the first element, add 2 to the second element,... 9 to the ninth element, 0 to the tenth element, 1 to the eleventh element, and so on. If mode is equal to decrypt, perform the inverse procedure. (c) Finally, convert the resulting double array of ASCII codes into characters to produce the output argument strout. Note: If the user calls Convert with only two input arguments, then Convert should execute the decryption operation. If the user calls Convert with zero or one input arguments, then an appropriate error message should be executed. Test your function with the following code: 1 message = UC Berkeley is everything I hoped for. ; 2 secretkey = abc ; 3 ctext = Convert(message,secretKey, encrypt ); 4 Convert(ctext, secretkey, decrypt ) 3. In previous assignment (LOOPS) you wrote several code-sections that each performed some tasks on a row-vector containing only ones and zeros. In this problem, you will use those code-sections to make corresponding functions that also have some added functionality. Your functions will be tested on several arbitrary sequences of ones and zeros, of varying length, so be sure your code (which you may take from your submission although that is not required) is sufficiently general. In FCN Template, a place is provided for you to define your own vector of ones and zeros to test with. For example, you might use 1 V = [1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0]; If a function requires the use of nargin, you should use it at the beginning of your function to set the default parameters before they are used. (a) Write a function called flipnth, that will flip every Nth entry of the input vector (make the entry 0 if it is 1 and make it 1 if it is 0) and return the modified vector. The function declaration line should be 1 function outvec = flipnth(invec,n) 3 of 7
4 The first input invec is a numeric vector of ones and zeros, like V above. The second input is a scalar integer greater than or equal to 1. The output outvec should be a numeric vector of ones and zeros of the same size as invec. If the function flipnth is called with only one input argument, then treat the value of N as equal to 1. This is called the default value. Hence the default behavior is to flip every element of the input vector. (b) Write a function called flipnthval with function declaration line 1 function outvec = flipnthval(invec,n,value) that will flip every Nth instance of a specified value (0 or 1) in an input vector and return the modified vector. The input invec is a numeric vector of ones and zeros. The input N performs the same role as in the previous function flipnth. The input value is which value (0 or 1) to flip. For example, if the function is called with N = 4 and value = 1, the function should flip every 4th occurrence of the value 1. If, on the other hand, the function is called with N = 2 and val = 0, the function should flip every 2nd occurrence of the value 0. The output outvec should be a numeric vector of ones and zeros of the same size as invec. If flipnthval is called with one argument, the default values of N and value are both 1. IfflipNthVal is called with two arguments (invec and N), set value to 1. (c) Write a function called findwithoverlap with function declaration line 1 function [numappear, idx] = findwithoverlap(invec,pattern) The input invec is a numeric vector of ones and zeros. The input pattern should be a row vector containing only ones and zeros and whose number of elements is less than or equal to that of invec. Your function should count how many instances of pattern occur in invec and return this number to numappear. Additionally, idx should be a 1-by-numAppear array that contains the starting index for each instance of the pattern. Overlap is allowed. 4. (a) Write a function padrv which takes a row vector v, an integer n and inserts zeros at the beginning of v to create a new vector which has length n. The new vector is returned as the output. If n is smaller than numel(v), then padrv should return the original vector v. The function declaration line should be 1 function vpad = padrv(v,n) The function padrv can be written rather simply, with only one line of code after the function declaration line. (Hint: remember the stacking properties of empty arrays). Test your implementation as shown below: 1 v = [ ]; 2 result9a1 = padrv(v,2); 3 result9a2 = padrv(v,9); 4 of 7
5 The result should be that result9a1 equals [ ], and result9a2 equals [ ]. (b) Write a function unpad, which takes a row vector w, removes all zeros at the beginning of the vector and returns the remaining elements of the vector, i.e it drops the zeros at the beginning of the vector. The function declaration line should be 1 function b = unpad(v) The function unpad can be written rather simply, with only one line of code after the function declaration line. (Hint: the function find may be useful). Test your implementation in your main script file as shown below: 1 w = [ ]; 2 result9b = unpad(w); Your result should be that result9b equals the array [ ]. (c) Write a function polyadd which takes row vectors p1 and p2, interpreted as coefficients of two polynomials and returns the row vector that contains the coefficients of the sum of the two polynomials. The function declaration line of polyadd is 1 function psum = polyadd(p1,p2) You will need to use the functions padrv and unpad, which you created in parts (a) and (b). However, we require you to implement these as subfunctions (named LOCALpadrv and LOCALunpad) in the function file polyadd.m. Input arguments p1 and p2 are row vectors that respectively contain the coefficients (in decreasing degree) of the two polynomials that are to be added. For example, if the two polynomials that you want to add are P 1 (x) = x and P 2 (x) = x 2 + 2x + 1, the row vectors of their coefficients are respectively p1 = [1 0 3] and p2 = [-1 2 1]. The output argument psum is a row vector that contains the coefficients of the resulting polynomial addition. The result of adding the two polynomials is 2x+4, which is represented by the row vector of its coefficients psum = [2 4]. The output psum must be in the unpadded format. For instance, polyadd([-2,3,1],[2,2,2]) should output [5 3], not [0 5 3]. As an example, test your function with the following code. 1 p1 = [1 0 3]; 2 p2 = [-1 2 1]; 5 of 7
6 3 result9c1 = polyadd(p1,p2); 4 5 p3 = [ ]; 6 p4 = [-1 2 1]; 7 result9c2 = polyadd(p3,p4); 8 Hint: It may be helpful to use the max and numel functions. 5. Medieval MATLAB: The basic premises of the game is to have two players take turns attacking each other. Each player has four options to pick from during their turns: attack with a sword, attack with a bow and arrow, use their shield, or rest. After each selection, the opposing player s health along with the attacking player s endurance are affected as described by the chart below. Players with no endurance cannot use items that require endurance. The player that loses all of their health first loses. In this problem, we ll write the first function towards completing a full game implementation. In later assignments, we ll continue the development. Write a function called oneround, with function declaration line 1 function [dh1, de1, dh2, de2] = oneround(u1,u2,a,b,c,d,a,b,d) The function has nine input arguments. The first two, u1 and u2, represent the action (Sword, Bow&Arrow, Shield, Rest) of player 1 and player 2, respectively. For simplicity, use integer values to represent the action, namely 1 represents Sword, 2 represents Bow&Arrow, 3 represents Shield, and 4 represents Rest The last 7 input arguments model the effects of the various combinations of battles. By changing the values of these input arguments, the caller can change the outcome of battles between the two players. The function has 4 output arguments, which are the resultant change in the health (dh) and endurance (de) of each player. The function oneround should implement the table shown below. Player 2 Sword Bow&Arrow Shield Rest Player 1 Sword dh1=-a dh2=-a dh1=-b dh2=-a dh1=0 dh2=0 dh1=0 dh2=d-a de1=-a de2=-a de1=-a de2=-b de1=-a de2=-c de1=-a de2=d Player 1 Bow&Arrow dh1=-a dh2=-b dh1=-b dh2=-b dh1=0 dh2=0 dh1=0 dh2=d-b de1=-b de2=-a de1=-b de2=-b de1=-b de2=-c de1=-b de2=d Player 1 Shield dh1=0 dh2=0 dh1=0 dh2=0 dh1=0 dh2=0 dh1=0 dh2=d de1=-c de2=-a de1=-c de2=-b de1=-c de2=-c de1=-c de2=d Player 1 Rest dh1=d-a dh2=0 dh1=d-b dh2=0 dh1=d dh2=0 dh1=d dh2=d de1=d de2=-a de1=d de2=-b de1=d de2=-c de1=d de2=d 6 of 7
7 However, in order to introduce a small amount of nonrepeatability, each computed nonzero value (change in health and endurance) is to be randomly perturbed by ±15% in each call to oneround. Recall that RAND creates a random number between 0 and 1. Hence *(2*(rand-0.5)) creates a random number between 0.85 and For the combinations that return 0 in the table above, perturb those by a random number between -0.1 and 0.1. Test oneround with parameter values that satisfy A > B > D > 0, d > a > b > c > 0 7 of 7
Assignment 2 Due Thursday 7/3 at 10:00 AM
Assignment 2 Due Thursday 7/3 at 10:00 AM Working with Strings II (25 points): Download the file StringMaster2003.java from the course web page (the assignments page). You will find code which produces
More informationUser Defined Functions
User Defined Functions 120 90 1 0.8 60 Chapter 6 150 0.6 0.4 30 0.2 180 0 210 330 240 270 300 Objectives Create and use MATLAB functions with both single and multiple inputs and outputs Learn how to store
More informationToday s topics. Announcements/Reminders: Characters and strings Review of topics for Test 1
Today s topics Characters and strings Review of topics for Test 1 Announcements/Reminders: Assignment 1b due tonight 11:59pm Test 1 in class on Thursday Characters & strings We have used strings already:
More information1 Data Exploration: The 2016 Summer Olympics
CS 1132 Fall 2016 Assignment 2 due 9/29 at 11:59 pm Adhere to the Code of Academic Integrity. You may discuss background issues and general strategies with others and seek help from course staff, but the
More informationExploring Rational Functions
Name Date Period Exploring Rational Functions Part I - The numerator is a constant and the denominator is a linear factor. 1. The parent function for rational functions is: Graph and analyze this function:
More informationPython allows variables to hold string values, just like any other type (Boolean, int, float). So, the following assignment statements are valid:
1 STRINGS Objectives: How text data is internally represented as a string Accessing individual characters by a positive or negative index String slices Operations on strings: concatenation, comparison,
More informationHomework 2. Out: 09/23/16 Due: 09/30/16 11:59pm UNIVERSITY OF MARYLAND DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING
UNIVERSITY OF MARYLAND DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING ENEE 457 Computer Systems Security Instructor: Charalampos Papamanthou Homework 2 Out: 09/23/16 Due: 09/30/16 11:59pm Instructions
More informationCSE 115. Introduction to Computer Science I
CSE 115 Introduction to Computer Science I Announcements Lab activites/lab exams submit regularly to autograder.cse.buffalo.edu Announcements Lab activites/lab exams submit regularly to autograder.cse.buffalo.edu
More informationMAT 275 Laboratory 2 Matrix Computations and Programming in MATLAB
MATLAB sessions: Laboratory MAT 75 Laboratory Matrix Computations and Programming in MATLAB In this laboratory session we will learn how to. Create and manipulate matrices and vectors.. Write simple programs
More informationBulgarian Math Olympiads with a Challenge Twist
Bulgarian Math Olympiads with a Challenge Twist by Zvezdelina Stankova Berkeley Math Circle Beginners Group September 0, 03 Tasks throughout this session. Harder versions of problems from last time appear
More informationNotes for Lecture 14
COS 533: Advanced Cryptography Lecture 14 (November 6, 2017) Lecturer: Mark Zhandry Princeton University Scribe: Fermi Ma Notes for Lecture 14 1 Applications of Pairings 1.1 Recap Consider a bilinear e
More informationISA 562: Information Security, Theory and Practice. Lecture 1
ISA 562: Information Security, Theory and Practice Lecture 1 1 Encryption schemes 1.1 The semantics of an encryption scheme. A symmetric key encryption scheme allows two parties that share a secret key
More informationMAT 275 Laboratory 2 Matrix Computations and Programming in MATLAB
MAT 75 Laboratory Matrix Computations and Programming in MATLAB In this laboratory session we will learn how to. Create and manipulate matrices and vectors.. Write simple programs in MATLAB NOTE: For your
More informationTeaching Manual Math 2131
Math 2131 Linear Algebra Labs with MATLAB Math 2131 Linear algebra with Matlab Teaching Manual Math 2131 Contents Week 1 3 1 MATLAB Course Introduction 5 1.1 The MATLAB user interface...........................
More informationSenior Math Circles Cryptography and Number Theory Week 1
Senior Math Circles Cryptography and Number Theory Week 1 Dale Brydon Feb. 2, 2014 1 One-Time Pads Cryptography deals with the problem of encoding a message in such a way that only the intended recipient
More informationDefining Encryption. Lecture 2. Simulation & Indistinguishability
Defining Encryption Lecture 2 Simulation & Indistinguishability Roadmap First, Symmetric Key Encryption Defining the problem We ll do it elaborately, so that it will be easy to see different levels of
More informationSecure Multiparty Computation
Secure Multiparty Computation Li Xiong CS573 Data Privacy and Security Outline Secure multiparty computation Problem and security definitions Basic cryptographic tools and general constructions Yao s Millionnare
More informationLAB 2: Linear Equations and Matrix Algebra. Preliminaries
Math 250C, Section C2 Hard copy submission Matlab # 2 1 Revised 07/13/2016 LAB 2: Linear Equations and Matrix Algebra In this lab you will use Matlab to study the following topics: Solving a system of
More informationCIS 3362 Final Exam 12/4/2013. Name:
CIS 3362 Final Exam 12/4/2013 Name: 1) (10 pts) Since the use of letter frequencies was known to aid in breaking substitution ciphers, code makers in the Renaissance added "twists" to the standard substitution
More informationFunctional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute
Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute Module # 02 Lecture - 03 Characters and Strings So, let us turn our attention to a data type we have
More informationChapter 9 Introduction to Arrays. Fundamentals of Java
Chapter 9 Introduction to Arrays Objectives Write programs that handle collections of similar items. Declare array variables and instantiate array objects. Manipulate arrays with loops, including the enhanced
More informationCS52 - Assignment 7. Due Friday 11/13 at 5:00pm. https://xkcd.com/538/
CS52 - Assignment 7 Due Friday 11/13 at 5:00pm https://xkcd.com/538/ For this assignment we will be writing code that allows us to encrypt and decrypt strings using RSA encryption. Put your solution in
More informationCryptography. Andreas Hülsing. 6 September 2016
Cryptography Andreas Hülsing 6 September 2016 1 / 21 Announcements Homepage: http: //www.hyperelliptic.org/tanja/teaching/crypto16/ Lecture is recorded First row might be on recordings. Anything organizational:
More informationMath 574 Review Exam #1
Math 574 Review Exam 1 1. How many 8-card hands, dealt from a standard deck of 5, consist of: (a). 5 of one suit and 3 of another suit? (b). 4 each of two suits. (c). 3 of one suit, 3 of a second suit,
More informationPart I: Written Problems
CSci 4223 Homework 1 DUE: Friday, February 1, 11:59 pm Instructions. Your task is to answer three written problems, and to write eleven SML functions related to calendar dates, as well as test cases for
More informationChapter 6 User-Defined Functions. dr.dcd.h CS 101 /SJC 5th Edition 1
Chapter 6 User-Defined Functions dr.dcd.h CS 101 /SJC 5th Edition 1 MATLAB Functions M-files are collections of MATLAB statements that stored in a file, called a script file. Script files share the command
More informationMAT 343 Laboratory 2 Solving systems in MATLAB and simple programming
MAT 343 Laboratory 2 Solving systems in MATLAB and simple programming In this laboratory session we will learn how to 1. Solve linear systems with MATLAB 2. Create M-files with simple MATLAB codes Backslash
More informationMAT 275 Laboratory 2 Matrix Computations and Programming in MATLAB
MATLAB sessions: Laboratory MAT 75 Laboratory Matrix Computations and Programming in MATLAB In this laboratory session we will learn how to. Create and manipulate matrices and vectors.. Write simple programs
More information第六屆 ACM ICPC 全國私立大專校院程式競賽. National Contest for Private Universities, Taiwan 2016 競賽題目
第六屆 ACM ICPC 全國私立大專校院程式競賽 National Contest for Private Universities, Taiwan 016 競賽題目 Problem 1: Maximum Subsequence Sum Problem (Time Limit: 3 seconds) Given a sequence containing both negative and positive
More informationCS Homework 11 p. 1. CS Homework 11
CS 111 - Homework 11 p. 1 Deadline 11:59 pm on Monday, May 2, 2016 How to submit Each time you would like to submit your work: CS 111 - Homework 11 If your files are not already on nrs-labs, be sure to
More informationFathom Dynamic Data TM Version 2 Specifications
Data Sources Fathom Dynamic Data TM Version 2 Specifications Use data from one of the many sample documents that come with Fathom. Enter your own data by typing into a case table. Paste data from other
More informationD-Optimal Designs. Chapter 888. Introduction. D-Optimal Design Overview
Chapter 888 Introduction This procedure generates D-optimal designs for multi-factor experiments with both quantitative and qualitative factors. The factors can have a mixed number of levels. For example,
More informationCS1132 Fall 2009 Assignment 1. 1 The Monty Hall Dillemma. 1.1 Programming the game
CS1132 Fall 2009 Assignment 1 Adhere to the Code of Academic Integrity. You may discuss background issues and general solution strategies with others and seek help from course staff, but the homework you
More informationIntroduction to Programming, Aug-Dec 2006
Introduction to Programming, Aug-Dec 2006 Lecture 3, Friday 11 Aug 2006 Lists... We can implicitly decompose a list into its head and tail by providing a pattern with two variables to denote the two components
More informationAssignment 3: Block Ciphers
Assignment 3: Block Ciphers CSCI3381-Cryptography Due October 3, 2014 1 Solutions to the Written Problems 1. Block Cipher Modes of Operation 6 points per part, 30 total. Parts (a)-(d) refer to the cipherblock
More informationB&E 105: TECHNOLOGY FOR BUSINESS SOLUTIONS EXAM 5 CHECKLIST & OUTLINE
B&E 105: TECHNOLOGY FOR BUSINESS SOLUTIONS EXAM 5 CHECKLIST & OUTLINE Strategy for doing well: Work along with the videos, filling out your Excel file(s) step by step. Do this until you can comfortably
More informationCS 395T. Formal Model for Secure Key Exchange
CS 395T Formal Model for Secure Key Exchange Main Idea: Compositionality Protocols don t run in a vacuum Security protocols are typically used as building blocks in a larger secure system For example,
More informationFall 2018 Discussion 8: October 24, 2018 Solutions. 1 Introduction. 2 Primitives
CS 6A Scheme Fall 208 Discussion 8: October 24, 208 Solutions Introduction In the next part of the course, we will be working with the Scheme programming language. In addition to learning how to write
More information6.S189 Homework 1. What to turn in. Exercise 1.1 Installing Python. Exercise 1.2 Hello, world!
6.S189 Homework 1 http://web.mit.edu/6.189/www/materials.html What to turn in Do the warm-up problems for Days 1 & 2 on the online tutor. Complete the problems below on your computer and get a checkoff
More information1 Recursion. 2 Recursive Algorithms. 2.1 Example: The Dictionary Search Problem. CSci 235 Software Design and Analysis II Introduction to Recursion
1 Recursion Recursion is a powerful tool for solving certain kinds of problems. Recursion breaks a problem into smaller problems that are identical to the original, in such a way that solving the smaller
More informationUsing the CRM Pivot Tables
Using the CRM Pivot Tables Pivot tables have now been added to your CRM system: we hope that these will provide you with an easy way to produce charts and graphs straight from your CRM, using the most
More informationHomework 11 Program Setup (with some IMPORTANT NEW STEPS!)
Spring 2018 - CS 111 - Homework 11 p. 1 Deadline 11:59 pm on Friday, April 27, 2018 Purpose To practice with loops, arrays, and more! How to submit CS 111 - Homework 11 Submit your main.cpp (or it may
More informationBoredGames Language Reference Manual A Language for Board Games. Brandon Kessler (bpk2107) and Kristen Wise (kew2132)
BoredGames Language Reference Manual A Language for Board Games Brandon Kessler (bpk2107) and Kristen Wise (kew2132) 1 Table of Contents 1. Introduction... 4 2. Lexical Conventions... 4 2.A Comments...
More informationUnit 14. Passing Arrays & C++ Strings
1 Unit 14 Passing Arrays & C++ Strings PASSING ARRAYS 2 3 Passing Arrays As Arguments Can we pass an array to another function? YES!! Syntax: Step 1: In the prototype/signature: Put empty square brackets
More informationThe inverse of a matrix
The inverse of a matrix A matrix that has an inverse is called invertible. A matrix that does not have an inverse is called singular. Most matrices don't have an inverse. The only kind of matrix that has
More information1. What specialist uses information obtained from bones to help police solve crimes?
Mathematics: Modeling Our World Unit 4: PREDICTION HANDOUT VIDEO VIEWING GUIDE H4.1 1. What specialist uses information obtained from bones to help police solve crimes? 2.What are some things that can
More informationStudent Performance Q&A:
Student Performance Q&A: 2016 AP Computer Science A Free-Response Questions The following comments on the 2016 free-response questions for AP Computer Science A were written by the Chief Reader, Elizabeth
More informationRational functions, like rational numbers, will involve a fraction. We will discuss rational functions in the form:
Name: Date: Period: Chapter 2: Polynomial and Rational Functions Topic 6: Rational Functions & Their Graphs Rational functions, like rational numbers, will involve a fraction. We will discuss rational
More informationInformation Security
SE 4472b Information Security Week 2-2 Some Formal Security Notions Aleksander Essex Fall 2015 Formalizing Security As we saw, classical ciphers leak information: Caeser/Vigenere leaks letter frequency
More information21-Loops Part 2 text: Chapter ECEGR 101 Engineering Problem Solving with Matlab Professor Henry Louie
21-Loops Part 2 text: Chapter 6.4-6.6 ECEGR 101 Engineering Problem Solving with Matlab Professor Henry Louie While Loop Infinite Loops Break and Continue Overview Dr. Henry Louie 2 WHILE Loop Used to
More informationUniversity of Alberta
A Brief Introduction to MATLAB University of Alberta M.G. Lipsett 2008 MATLAB is an interactive program for numerical computation and data visualization, used extensively by engineers for analysis of systems.
More informationProgramming Lab 1 (JS Hwk 3) Due Thursday, April 28
Programming Lab 1 (JS Hwk 3) Due Thursday, April 28 Lab You may work with partners for these problems. Make sure you put BOTH names on the problems. Create a folder named JSLab3, and place all of the web
More informationSecret Key Systems (block encoding) Encrypting a small block of text (say 64 bits) General Considerations:
Secret Key Systems (block encoding) Encrypting a small block of text (say 64 bits) General Considerations: Secret Key Systems Encrypting a small block of text (say 64 bits) General Considerations: 1. Encrypted
More informationarxiv: v1 [math.co] 25 Sep 2015
A BASIS FOR SLICING BIRKHOFF POLYTOPES TREVOR GLYNN arxiv:1509.07597v1 [math.co] 25 Sep 2015 Abstract. We present a change of basis that may allow more efficient calculation of the volumes of Birkhoff
More information6.S189 Homework 2. What to turn in. Exercise 3.1 Defining A Function. Exercise 3.2 Math Module.
6.S189 Homework 2 http://web.mit.edu/6.s189/www/materials.html What to turn in Checkoffs 3, 4 and 5 are due by 5 PM on Monday, January 15th. Checkoff 3 is over Exercises 3.1-3.2, Checkoff 4 is over Exercises
More informationLab 4 CSE 7, Spring 2018 This lab is an introduction to using logical and comparison operators in Matlab.
LEARNING OBJECTIVES: Lab 4 CSE 7, Spring 2018 This lab is an introduction to using logical and comparison operators in Matlab 1 Use comparison operators (< > = == ~=) between two scalar values to create
More informationHomework 8: Matrices Due: 11:59 PM, Oct 30, 2018
CS17 Integrated Introduction to Computer Science Klein Homework 8: Matrices Due: 11:59 PM, Oct 30, 2018 Contents 1 Reverse (Practice) 4 2 Main Diagonal (Practice) 5 3 Horizontal Flip 6 4 Vertical Flip
More informationProject 3 Due October 21, 2015, 11:59:59pm
Project 3 Due October 21, 2015, 11:59:59pm 1 Introduction In this project, you will implement RubeVM, a virtual machine for a simple bytecode language. Later in the semester, you will compile Rube (a simplified
More informationElements of Cryptography and Computer and Networking Security Computer Science 134 (COMPSCI 134) Fall 2016 Instructor: Karim ElDefrawy
Elements of Cryptography and Computer and Networking Security Computer Science 134 (COMPSCI 134) Fall 2016 Instructor: Karim ElDefrawy Homework 2 Due: Friday, 10/28/2016 at 11:55pm PT Will be posted on
More informationC++ Programming. Arrays and Vectors. Chapter 6. Objectives. Chiou. This chapter introduces the important topic of data structures collections
C++ Programming Chapter 6 Arrays and Vectors Yih-Peng Chiou Room 617, BL Building (02) 3366-3603 3603 ypchiou@cc.ee.ntu.edu.tw Photonic Modeling and Design Lab. Graduate Institute of Photonics and Optoelectronics
More informationEECE.2160: ECE Application Programming Spring 2018 Programming Assignment #6: Using Arrays to Count Letters in Text Due Wednesday, 4/4/18, 11:59:59 PM
Spring 2018 Programming Assignment #6: Using Arrays to Count Letters in Text Due Wednesday, 4/4/18, 11:59:59 PM 1. Introduction In this program, you will practice working with arrays. Your program will
More informationCardinality of Sets. Washington University Math Circle 10/30/2016
Cardinality of Sets Washington University Math Circle 0/0/06 The cardinality of a finite set A is just the number of elements of A, denoted by A. For example, A = {a, b, c, d}, B = {n Z : n } = {,,, 0,,,
More informationSolving Systems Using Row Operations 1 Name
The three usual methods of solving a system of equations are graphing, elimination, and substitution. While these methods are excellent, they can be difficult to use when dealing with three or more variables.
More informationCS52 - Assignment 8. Due Friday 4/15 at 5:00pm.
CS52 - Assignment 8 Due Friday 4/15 at 5:00pm https://xkcd.com/859/ This assignment is about scanning, parsing, and evaluating. It is a sneak peak into how programming languages are designed, compiled,
More informationAssignment 7. Computer Science 52. Due November 30, 2018, at 5:00 pm
Computer Science 52 Assignment 7 Due November 30, 2018, at 5:00 pm Reading This assignment is about RSA encryption. Refer to the course document RSA Encryption and the original RSA paper for details on
More informationOutline. User-based knn Algorithm Basics of Matlab Control Structures Scripts and Functions Help
Outline User-based knn Algorithm Basics of Matlab Control Structures Scripts and Functions Help User-based knn Algorithm Three main steps Weight all users with respect to similarity with the active user.
More informationTABLE OF CONTENTS Introduction: Default Operation and Remote Programming Programming Receptionist Extensions Installing CallExtend
TABLE OF CONTENTS Introduction: Default Operation and Remote Programming... 1 CallExtend s Default Settings... 1 Resetting CallExtend to the Default Settings... 3 Remote Programming... 4 Installing CallExtend...
More informationECE15: Lab #3. Problem 1. University of California San Diego ( 1) + x4. + x8 + (1)
University of California San Diego ECE15: Lab #3 This lab relates specifically to the material covered in Lecture Units 6 and 7 in class, although it assumes knowledge of the previous Lecture Units as
More informationCS 320: Concepts of Programming Languages
CS 320: Concepts of Programming Languages Wayne Snyder Computer Science Department Boston University Lecture 03: Bare-Bones Haskell Continued: o Function Application = Rewriting by Pattern Matching o Haskell
More information(Refer Slide Time: 1:27)
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 1 Introduction to Data Structures and Algorithms Welcome to data
More informationSolving Systems of Equations Using Matrices With the TI-83 or TI-84
Solving Systems of Equations Using Matrices With the TI-83 or TI-84 Dimensions of a matrix: The dimensions of a matrix are the number of rows by the number of columns in the matrix. rows x columns *rows
More informationWelcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website:
Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: https://users.wpi.edu/~sjarvis/ece2049_smj/ We will come around checking your pre-labs
More informationC for Engineers and Scientists: An Interpretive Approach. Chapter 10: Arrays
Chapter 10: Arrays 10.1 Declaration of Arrays 10.2 How arrays are stored in memory One dimensional (1D) array type name[expr]; type is a data type, e.g. int, char, float name is a valid identifier (cannot
More informationChapter 18 out of 37 from Discrete Mathematics for Neophytes: Number Theory, Probability, Algorithms, and Other Stuff by J. M. Cargal.
Chapter 8 out of 7 from Discrete Mathematics for Neophytes: Number Theory, Probability, Algorithms, and Other Stuff by J. M. Cargal 8 Matrices Definitions and Basic Operations Matrix algebra is also known
More informationHMC CS 158, Fall 2017 Problem Set 3 Programming: Regularized Polynomial Regression
HMC CS 158, Fall 2017 Problem Set 3 Programming: Regularized Polynomial Regression Goals: To open up the black-box of scikit-learn and implement regression models. To investigate how adding polynomial
More information1 Achieving IND-CPA security
ISA 562: Information Security, Theory and Practice Lecture 2 1 Achieving IND-CPA security 1.1 Pseudorandom numbers, and stateful encryption As we saw last time, the OTP is perfectly secure, but it forces
More informationCS195H Homework 1 Grid homotopies and free groups. Due: February 5, 2015, before class
CS195H Homework 1 Grid homotopies and free groups This second homework is almost all about grid homotopies and grid curves, but with a little math in the middle. This homework, last year, took people about
More informationCSC 474/574 Information Systems Security
CSC 474/574 Information Systems Security Topic 2.5 Public Key Algorithms CSC 474/574 Dr. Peng Ning 1 Public Key Algorithms Public key algorithms covered in this class RSA: encryption and digital signature
More informationPart 1. Summary of For Loops and While Loops
NAME EET 2259 Lab 5 Loops OBJECTIVES -Understand when to use a For Loop and when to use a While Loop. -Write LabVIEW programs using each kind of loop. -Write LabVIEW programs with one loop inside another.
More informationAdd in a new balloon sprite, and a suitable stage backdrop.
Balloons Introduction You are going to make a balloon-popping game! Step 1: Animating a balloon Activity Checklist Start a new Scratch project, and delete the cat sprite so that your project is empty.
More informationLesson 2: Using the Number Line to Model the Addition of Integers
: Using the Number Line to Model the Addition of Integers Classwork Exercise 1: Real-World Introduction to Integer Addition Answer the questions below. a. Suppose you received $10 from your grandmother
More informationa b c d a b c d e 5 e 7
COMPSCI 230 Homework 9 Due on April 5, 2016 Work on this assignment either alone or in pairs. You may work with different partners on different assignments, but you can only have up to one partner for
More informationDr Richard Greenaway
SCHOOL OF PHYSICS, ASTRONOMY & MATHEMATICS 4PAM1008 MATLAB 3 Creating, Organising & Processing Data Dr Richard Greenaway 3 Creating, Organising & Processing Data In this Workshop the matrix type is introduced
More informationSCHEME 8. 1 Introduction. 2 Primitives COMPUTER SCIENCE 61A. March 23, 2017
SCHEME 8 COMPUTER SCIENCE 61A March 2, 2017 1 Introduction In the next part of the course, we will be working with the Scheme programming language. In addition to learning how to write Scheme programs,
More informationCS Fall Homework 11 p. 1. CS Homework 11
CS 111 - Fall 2018 - Homework 11 p. 1 Deadline 11:59 pm on MONDAY, December 3, 2018 Purpose To practice with loops, arrays, and more! How to submit Submit your THREE.cpp FILES: CS 111 - Homework 11 hw11.cpp
More informationThe Simplex Algorithm for LP, and an Open Problem
The Simplex Algorithm for LP, and an Open Problem Linear Programming: General Formulation Inputs: real-valued m x n matrix A, and vectors c in R n and b in R m Output: n-dimensional vector x There is one
More informationSCHEME 7. 1 Introduction. 2 Primitives COMPUTER SCIENCE 61A. October 29, 2015
SCHEME 7 COMPUTER SCIENCE 61A October 29, 2015 1 Introduction In the next part of the course, we will be working with the Scheme programming language. In addition to learning how to write Scheme programs,
More informationCS 2604 Minor Project 1 Summer 2000
RPN Calculator For this project, you will design and implement a simple integer calculator, which interprets reverse Polish notation (RPN) expressions. There is no graphical interface. Calculator input
More informationIt can be confusing when you type something like the expressions below and get an error message. a range variable definition a vector of sine values
7_april_ranges_.mcd Understanding Ranges, Sequences, and Vectors Introduction New Mathcad users are sometimes confused by the difference between range variables and vectors. This is particularly true considering
More informationAdministration. Objects and Arrays. Objects. Agenda. What is an Object? What is a Class?
Administration Objects and Arrays CS 99 Summer 2000 Michael Clarkson Lecture 6 Read clarified grading policies Lab 6 due tomorrow Submit.java files in a folder named Lab6 Lab 7 Posted today Upson Lab closed
More informationLecture 2 Finite Automata
Lecture 2 Finite Automata August 31, 2007 This lecture is intended as a kind of road map to Chapter 1 of the text just the informal examples that I ll present to motivate the ideas. 1 Expressions without
More informationUnderstanding Cryptography by Christof Paar and Jan Pelzl. Chapter 9 Elliptic Curve Cryptography
Understanding Cryptography by Christof Paar and Jan Pelzl www.crypto-textbook.com Chapter 9 Elliptic Curve Cryptography ver. February 2nd, 2015 These slides were prepared by Tim Güneysu, Christof Paar
More informationChapter 1 Operations With Numbers
Chapter 1 Operations With Numbers Part I Negative Numbers You may already know what negative numbers are, but even if you don t, then you have probably seen them several times over the past few days. If
More informationECE 206, Fall 2001: Lab 3
ECE 206, : Lab 3 Data Movement Instructions Learning Objectives This lab will give you practice with a number of LC-2 programming constructs. In particular you will cover the following topics: - Load/store
More informationCSC443 Winter 2018 Assignment 1. Part I: Disk access characteristics
CSC443 Winter 2018 Assignment 1 Due: Sunday Feb 11, 2018 at 11:59 PM Part I: Disk access characteristics In this assignment, we investigate the data access characteristics of secondary storage devices.
More informationInteractive Math Glossary Terms and Definitions
Terms and Definitions Absolute Value the magnitude of a number, or the distance from 0 on a real number line Addend any number or quantity being added addend + addend = sum Additive Property of Area the
More informationCHAPTER 4 FUNCTIONS. 4.1 Introduction
CHAPTER 4 FUNCTIONS 4.1 Introduction Functions are the building blocks of C++ programs. Functions are also the executable segments in a program. The starting point for the execution of a program is main
More informationMC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points
MC 0 GRAPH THEORY 0// Solutions to HW # 0 points + XC points ) [CH] p.,..7. This problem introduces an important class of graphs called the hypercubes or k-cubes, Q, Q, Q, etc. I suggest that before you
More informationBlock cipher modes. Lecturers: Mark D. Ryan and David Galindo. Cryptography Slide: 75
Block cipher modes Lecturers: Mark D. Ryan and David Galindo. Cryptography 2017. Slide: 75 Lecturers: Mark D. Ryan and David Galindo. Cryptography 2017. Slide: 76 Block cipher modes Block ciphers (like
More informationDiffie-Hellman Key Agreement
Diffie-Hellman Key Agreement (Anonymous) Diffie-Hellman 0. params: p, g 1. generate: a 2. compute: A= g a p 3. compute: s= B a p Alice A B s = g ab p Bob 0. params: p, g 1. generate: b 2. compute: B= g
More information