2011C02
From CDS 130
Contents |
1. ANNOUNCEMENTS
1.1. 4 AUGUST 2011
- All final course grades for CDS-130 Summer 2011 "C" Session have been computed and entered into PatriotWeb. The course grade distribution was as follows:
- Number of students: 9
- Final course grades: A+, A, A, A, A, A, C, C, C
1.2. 2 AUGUST 2011
- All CDS-130 grading is now complete, except for the final exam: grades for all CDS-130 work products submitted up through 10:00pm on Monday, 1 August may now be found on Blackboard.
- Please recall the grading formula I discussed on Monday. Using it, you may, if you wish, compute how many points you must earn on your final exam to earn the various letter grades that appear on the course syllabus.
- I'll be available tomorrow, 3 August, beginning at about 10:30am, for student questions and consultations, as needed. Samantha will be available beginning at noon and Soo should be available sometime in the afternoon. Please consider using these help resources if you have additional, unresolved questions or would like additional explanations. As always, you may text us at the phone numbers we distributed to you, or email us if that is your preference.
- The CDS-130 final exam will begin PROMPTLY tomorrow evening at 7:15pm (I will allow a 15 minute grace period for traffic/late arrivals) and will conclude at 9:45pm. You will therefore have 2.5 hours to complete the exam.
- My strong recommendation, given that there are four Matlab coding problems on the exam, is to do your work in pencil rather than in pen: It's much easier to erase pencil than it is to constantly cross out in pen -- particularly when writing computer code of any kind.
1.3. 31 JULY 2011
FINAL EXAM STUDY ADVICE
- The following exercises and concepts are representative of those that may appear on your final exam. As before, I've selected exercises that I believe will focus your study effort in productive directions; some of the problems on the exam may bear interesting resemblences to those listed below (although that does not mean the exam problems will be identical to them!) In one case (a problem related to data density) there was no direct analog. In those cases where no specific problem was chosen, I identified either the methods you will be expected to know and to use, or, the location inside the specific presentation where the concept being tested arises:
- Conversions using the binary template and the extended binary template
- Problem set 3 exercise #14
- Problem set 3 exercise #11
- Problem set 4 exercise #7
- Problem set 4 exercise #21
- Problem set 4 exercise #27
- Problem set 5 exercise #5
- Problem set 6 exercise #12
- Problem set 6 exercise #9
- Problem set 7 exercise #15
- "Image Processing and Pattern Recognition" presentation, slide #23: "two more detection problems"
- Problem set 9 exercise #2
- Problem set 9 exercise #5
- Problem set 4 exercise #36
- Problem set 4 exercise #41
- Please note that you will not be provided with logic tables on the final exam and so you must know the logic tables for AND, OR, NAND, NOR and NOT. You will also not be provided with the value for 2^10 (which you really should know by now), but you will be provided with base ten values for negative powers of two.
- There are 75 points on the final exam. The points are broken out as follows: 64% of the points (48) are assigned to problems/concepts that we covered in class since right around the midterm exam (to include pattern recognition in images), and 36% of the points (27) are assigned to problems/concepts covered from our first class meeting up through the midterm. Note that the coverage periods are approximate only. Four final exam problems will require you to write Matlab code. Please note that while your Matlab code will not need to be absolutely, syntactically perfect (that is, it may contain a few minor bugs here and there), it should nevertheless represent correct solution logic that solves the stated problem.
EXAM EXTRA CREDIT QUIZ STUDY ADVICE
- As you know, our last exam extra credit quiz will occur tomorrow evening, Monday, 1 August 2011. This quiz will feature only one problem, but, you will be expected to write Matlab code that solves the problem. In order to do that, you will of course need to understand what the problem is asking, and how to translate the various aspects of it into Matlab syntax. Because tomorrow's quiz is to gain exam extra credit (the more valuable kind), the problem appearing on it will be somewhat more difficult than the exercises you've completed in your homework assignments thus far. That said, the closest match to what will appear on tomorrow's quiz (and thus, the best model for you to study in preparation for it), is exercise #6 in problem set 9.
- In particular, consider what occurs if the money is withdrawn from the account at the beginning of the year, rather than at the end. What happens in that particular case? Is the amount withdrawn simply subtracted from the end of the population equation, or, is it first subtracted from the term that is multiplied by the deltat term (that is, the difference is multiplied by deltat)? Note that an account paying x% monthly interest means that x% gets applied to the dollars in the account monthly, not yearly! Please also note that exercise 6 is asking for the combined balances on 1 January of the 10th year. You must therefore be careful about how you treat the interest computation. In particular, please ensure that you know how to code the interest rate correctly into the population equation template we've been considering thus far, and also, that you know how to modify that template as needed to accommodate various problem situations.
- You'll have about 30 minutes for this one problem. Again, while I do not expect your resulting Matlab code to be syntactically perfect (i.e., to execute correctly the "first time out of the box"), I do expect your code to reflect a good understanding of the problem's mechanics, and thus, to result in a valid solution when (possibly) minor bugs are cleaned up. As always, showing work is much better than not showing work. Furthermore, I also strongly advise you to work in pencil: It's a lot easier to code in erasable pencil than in permanent pen -- given that mistakes are inevitable, erasing is preferable to crossing-out.
1.4. 28 JULY 2011
- Our third and final homework extra credit quiz will be delivered tomorrow evening, as you know. It will feature three problems, each worth one point (each will be graded 0.0, 0.5 or 1.0 points). These problems are similar in scope to the homework problems, perhaps emphasizing concepts that we did not emphasize explicitly during class. The problems may also be somewhat more difficult than those that appeared in your homework.
- Please consider the following three situations:
- You stand before an urn filled with ping pong balls. You cannot see into the urn, but, you can reach inside and draw out ping-pong balls, one by one. Please consider the different scenarios that could arise for different sets of markings on the ping-pong balls. For example, what if the urn was filled with balls marked with the integers 1-20 (inclusive), and, I asked you to compute the probability of drawing a certain numbered sequence of balls from the urn, both with and without replacement? Recall that we computed probabilities for sequences that featured odd numbers, even numbers, numbers inside some range, etc. You should be familiar with all of these scenarios. Furthermore, what if the numbered balls were mixed with balls marked with, say, colors? Then you'd have choices of numbered and colored balls. Think about probabilities in this case, too, and how you would compute the probabilities associated with drawing various sequences of numbers and/or colors.
- We talked about several different ways that Matlab code can go wrong, that is, produce errors. Think about these several different ways, and, how they arise in practice. Is it possible for code to execute correctly in some circumstances, but produce errors in others? If so, how might that occur? Typically, FOR loops are the culprits because values assigned to variables sometimes change inside FOR loops. But in other circumstances, a FOR loop might just appear as though it will produce an error, but when executed, we find that it does not. My specific advice here is to be sure you know, in detail, how FOR loops and double-nested FOR loops work, as well as IF statements -- particularly IF statements embedded inside FOR loops. When all these constructions work together, sometimes they work together correctly and sometimes they do not.
- We also talked about and reviewed Matlab code that when executed, performed various computations. Please ensure that you know how to write simple Matlab code to accomplish common tasks, such as adding, subtracting, multiplying and dividing ranges of numbers or values contained in a small matrix. Also ensure that you know how variable indexing works -- meaning, FOR loops that step their index variable forward in amounts different from 1. Why would we want to do that, anyway?
- I've uploaded to Blackboard the presentation from last evening entitled, "Stochastic Models and Systems of Equations". I also uploaded the revised Class Policies and Schedule, an update to the Homework Assignment sheet (now including homework assignment #6, see next para), the "Introduction to Matlab" presentation (red star has moved again and now resides near the end of that presentation), and four Matlab codes we reviewed and executed last evening. We also covered numerical integration. Please ensure that you review notes taken during this lecture.
- HOMEWORK ASSIGNMENT #6 (due Monday, 1 August 2011) consists of five exercises, drawn from the indicated problem sets and each worth the indicated amount (there are 20 points possible on this homework):
- Problem set 4: exercises #36 (3 pts), #37 (3 pts) and #38 (4 pts)
- Problem set 9: exercise #5 (5 pts)
- Problem set 10: exercise #1 (5 pts)
- Several students requested a due date extension to homework #4 (which was originally due last evening). I agreed. Homework #4 is now due at the beginning of class on Friday, 29 July -- along with homework #5. There will not be another extension for homework #4, nor will there be an extension for homework #5. Both are due at this Friday's class meeting.
- There may also be some lingering confusion about how to complete exercise #1 from problem set #8 (this exercise is part of homework #4). Please note that you do NOT have to write out executable Matlab code for this exercise! Rather, I am asking you to write out the sequence of steps that you must follow to perform binary addition by hand. This sequence must be explicit enough -- and correct! -- such that someone else (the "computer" I referenced in earlier communications) can follow your instructions and arrive at the correct result when faced with a binary addition problem (remember: that problem can consist of two binary numbers of length up to three digits each). As some of you may have already discovered, this is not necessarily an easy exercise.
- We covered WHILE loops during last evening's Matlab presentation. These are interesting constructions that carry a risk, namely, that faulty logic might lead to an infinite loop situation. Please review WHILE loops carefully. Also, please study the last couple of examples in our Matlab presentation, the ones we did not have time to review last evening (there are only a few left). You will be responsible for the entire contents of the Matlab presentation on the upcoming extra credit quizzes and on the final exam.
- About the quizzes and final: As before, I'll send out study advice in advance. This advice, if followed, should help you focus your study efforts. Note that problems referenced in my advice may not be identical to those found on quizzes or on the final exam. That said, I do expect some similarities.
- The final exam will be 2.5 hours in length, formatted similar to the midterm. The focus of the final is on problem solving (without the use of a calculator). Meaning: I will ask you to write (but not to run) Matlab code to solve problems. While I do not expect that your code will be syntactically perfect, I nevertheless expect it to be very close to executable. That is, I will not accept "pseudocode" -- you will be required to demonstrate Matlab proficiency. Furthermore, your Matlab codes must be constructed such they actually solve problems: I am very interested in your algorithmic thinking, and will grade accordingly. In preparation for this upcoming problem-centric focus, I suggest you review problem sets 7, 8, 9 and 10.
1.5. 26 JULY 2011
- I just uploaded to Blackboard the presentations from last evening: "Population Equation Models", "Introduction to Matlab" (fifth update) and "Class Policies and Schedule" (fifth update). I also uploaded problem set #9 and a Matlab code file entitled "bank_account.m".
- The entire focus of last evening's class was problem solving and specifically, problem solving using the population equation. We looked at several problem variations and modeled these variations inside a common framework. We discovered that the population equation, in its various forms, is a powerful tool: It models an isolated population of rabbits on a Caribbean island just as well as it models the growth of dollars in a bank account. Handled properly, the population equation modeling framework can provide you with insight into real-world problems.
- In the Matlab presentation we covered the basics of producing meaningful graphics. This is important because absent a meaningful presentation, the results of any computational study can be difficult if not impossible to understand. It's therefore imperative that the results computed by our models be displayed in an insightful way. That's what good graphs do.
- The Matlab presentation contains code that produces good graphs. However, if you copy it directly from the Powerpoint presentation, you will find that errors appear after you copy-and-paste: apostrophes don't copy over correctly into the Matlab editor and thus, the required formatting strings in the resulting Matlab code will be incorrect. To get around this problem, I suggest that you use the Matlab code file that I uploaded into the Class 8 folder, entitled, "bank_account.m" This is the same code we worked with last evening, preformatted for you and ready-to-execute.
- HOMEWORK ASSIGNMENT #5: Homework #5 was assigned last evening and will be due at the beginning of class on Friday, 29 July 2011. It consists of exercises 1, 2, 3 and 4 from problem set #9. Each of these exercises involves modeling a particular situation using the population equation framework. One of the exercises asks you to generate a graph of your results. PLEASE ensure that the graph you submit is INFORMATIVE, meaning that it has a proper title, labeled x and y axes, and any other explanatory text that you deem necessary to explain your results. When you submit Homework #5, you must include the Matlab code that generates both the solution and the graph (if asked to provide a graph), and, your program's output must match the submitted solution.
- NOTE on Homework #4: Homework #4 is due tomorrow evening at the beginning of class. Grading will be handled somewhat differently for exercise #1 from problem set #8: As discussed last evening, I will collect your written solutions for this particular exercise and give them to a "computer" that will then execute the algorithms. This "computer" (a CDS faculty member) will follow your written algorithm TO THE LETTER for a variety of test case inputs, and, will grade your algorithm on the basis of how well it performs against these test cases. Remember: Your algorithm is required to perform correct binary addition of two, arbitrary binary number inputs, each of which can be up to three digits in length. This exercise is worth five (5) points. Please note that your algorithm is NOT expected to be actual, executable Matlab code! Rather, what I would like to see is an explicit set of numbered instructions such that, when followed in order from top to bottom, computes the correct sum of two binary number inputs (as described above). Also please note that your algorithm may, if needed, "loop": For example, you may say something like this: "Now return to step X and continue program execution". What these looping instructions (called "goto" statements) do, is enable you to repeat sequences of instructions without having to rewrite them. Just make sure that if you ask the "computer" to "goto" (return) to a certain set of instructions, that this is the right thing for the computer to do, and also, that your algorithm eventually terminates: You don't want the computer to get caught inside an "infinite loop", forever repeating the same set of instructions -- our "computer", after all, requires an occasional cup of coffee!
- As I've said before, exercise #1 from problem set #8 is not necessarily easy; it introduces you to the step-by-step algorithmic thinking that we're trying to help you develop. As always, please don't hesitate to email me, Soo or Samantha with your questions.
1.6. 25 JULY 2011
- The sole focus of tonite's class will be modeling. All of the examples I cover tonite will be contained in the PPT presentation that I'll post to Blackboard after class. We'll also cover the basics of data visualization (that is, creating informative graphs of model output) during the Matlab presentation at evening's end. I will review (and later post to Blackboard) an updated class schedule, to give you some idea of how we're configuring the lecture topics over the remaining seven days before your 3 August final exam.
- Please note that we are going to rely more and more upon Matlab in the front part of the class as well. I therefore encourage all of you to get your VCL Matlab reservations going as soon as possible after you arrive in class.
- Finally, past CDS-130 students have found it quite useful to post Matlab code to their Wiki pages, so that they have a running copy of their code always available and easily accessible from home and elsewhere, while completing their homework assignments. If you've not already done so, I strongly encourage you to create a Wiki page for yourself on the CDS-130 server (as mentioned in our first class) and to use it to facilitate your work in CDS-130. When you create your page, please email your userID (an alias, please!) and your password to me and to our TAs, Ms. Choi and Ms. Fleming.
1.7. 23 JULY 2011
- Now posted to Blackboard, in the "Class 7" folder, are the two presentations from last evening, "Random Numbers and Basic Probability", and, "Introduction to Modeling, I". The worksheets accompanying the second presentation that required you to "cross out extra information", appear there as well. I've also updated the homework sheet to reflect last evening's homework assignment (see third para), which will be due at the beginning of class on Wednesday, 27 July 2011. Problem sets #7 and #8 appear in the problem set folder, and the updated Matlab presentation appears in its folder as well. Finally, I've posted the updated "Class Policies and Schedule" to the Class 7 folder. It provides an updated topic schedule for the remaining classes, and also updates the listed topics that we've covered in previous classes.
- Regarding last evening's Matlab presentation: We worked on and then discussed only one problem. We are deferring discussion of Matlab's WHILE loop syntax for the moment, since you now have most of the tools you need to begin solving problems. We may revisit the WHILE loop later on. It's a powerful construction, actually -- kind of like the fusion of a FOR loop with a conditional.
- HOMEWORK ASSIGNMENT #4 consists of eleven exercises, drawn from the indicated problem sets and each worth the indicated amount:
- Problem set #4: Exercise 32 (four points)
- Problem set #6: Exercises 12, 15 (one point each)
- Problem set #7: Exercises 4, 5, 6, 9, 10, 12 and 14 (one point each)
- Problem set #8: Exercise 1 (five points)
- Please note that exercise #1 from problem set #8 is not necessarily easy, but the algorithm you develop should be written such that it can be easily executed. Furthermore, you should consider the cases that could arise that may cause "problems", such as the binary carry operation. And, even though the problem asks for an algorithm to add two arbitrary, binary numbers that are three digits in length, please note that, in select circumstances, a column of three "1s" will develop as a result of a binary carry. How will you handle that situation? My expectation is that by following your written algorithm in sequence and to the letter, I will be able to correctly add any two, arbitrarily chosen three digit binary numbers. Meaning: I will arrive at the correct result. As stated in problem set #8, you may assume that I know how the four rules of binary addition operate, but, you may NOT assume that I will resort to "common sense" as needed. Because of its difficulty, problem set #8 exercise #1 will be worth five points. All other exercises in homework #4 will be worth the indicated point values; 18 possible total points.
- Administrative notes:
- There were a few errors in the Matlab code I presented last evening, in the "Introduction to Modeling, I" presentation: Sure enough, I too was bitten by the "off by one" error we've discussed previously! Those of you who were following along last evening and keying in the Matlab code from this presentation undoubtedly discovered these errors. I've now corrected them, and the presentations posted to Blackboard reflect these changes -- all codes now run as advertised!
- I returned the graded midterm exams last evening. A grading error resulted in the incorrect deduction of one (1) point from the original exam scores for six students. I've therefore added one (1) point to each of their original exam scores; that change is reflected in Blackboard's gradebook.
- I also have available your graded exam extra credit quizzes; they were available for return last evening -- my apologies for not doing so.
- Your graded homework #3 will be returned to you Monday evening (along with your graded exam extra credit quiz). Homework #3 grades will be posted to Blackboard by then as well.
1.8. 21 JULY 2011
- Midterm exam grades are now posted on Blackboard. Scores ranged from 58 to 71 out of a total 75 possible points. However, your REAL exam grade is the score you earned on the midterm, PLUS the number of exam extra credit points you earned on Monday's exam extra credit quiz. Add those two numbers together, and this is your real total out of 75 possible points. I'll hand back the graded midterm exams tomorrow.
1.9. 19 JULY 2011
- The grades for exam extra credit quiz #1 are now posted on Blackboard. Remember: This quiz was for extra credit points and therefore, cannot work against you with respect to your course grade. Instead, it may help you achieve a higher grade.
- Soo and Samantha will be available today for individual help/study sessions. These sessions will occur throughout the day in Research 1, room 301, beginning at approximately 2:30pm, as requested; both TAs will be available in 301 beginning at 7pm this evening. Please email them in advance with your study requests, or, to set up individual tutoring.
1.10. 17 JULY 2011
ADDITIONAL CDS-130 MID-TERM EXAM STUDY ADVICE:
- You MUST know the logic tables for the following logic gates: AND, OR, NAND, NOR and NOT. These logic tables will not be provided to you on the midterm exam!
CDS-130 MID-TERM EXAM STUDY ADVICE (MIDTERM REVIEW):
- I strongly recommend that you study the exercises identified below, from the indicated problem sets. Doing so will focus your study on those issues relevant to the midterm exam, thus permitting you to study more efficiently. Furthermore, you may discover interesting (and perhaps at times, startling) similarities between the exercises identified below and some problems appearing on the midterm exam.
- There are, however, three problems on the midterm exam for which no such similarities exist. Consider these to be "wildcards", also designed to test your knowledge of the computational topics we've considered thus far. For these you will see, below, that I've provided a descriptive narrative of the issues involved.
- The midterm exam is worth 75 points. As always, you can receive partial credit ONLY IF you show work supporting your answer: If no supporting work is shown, then I don't know what you were thinking when you generated your answer, and if that answer is incorrect, then I can't detect where you made your mistake -- and so, I can't award partial credit.
- Specific problems to study in preparation for the midterm exam are:
- PROBLEM SET #1: 8, 14
- PROBLEM SET #2: 7, 20
- PROBLEM SET #3: 5, 10, 14, 16
- PROBLEM SET #4: 6, 13, 19, 21, 28
- PROBLEM SET #5: 6, 10, 18, 19, 20, 21
- PROBLEM SET #6: 6, 8
- Descriptive narratives of the three exam problems that do not have analogs in problem sets 1--6:
- -- What does it mean to say that there exists a largest positive integer can be represented using X bits? For example, if X = 12, what does it mean to say that there exists a largest positive integer that can be represented with 12 bits? What is that integer? How would you write it in binary? What if this particular integer is involved in one of the operations we studied: binary addition, binary multiplication or division of a binary integer by a power of two? What are the implications for the results of these operations?
- -- If I have two arbitrary, X bit positive binary integers (these integers are in the range from 0 to the largest possible positive integer represented by X bits), and then, if I add these two integers together, how big is the sum? Can the sum fit into X bits?
- -- Know your colors! You should know that:
- red is [1 0 0];
- green is [0 1 0];
- blue is [0 0 1];
- yellow is [1 1 0];
- light blue is [0 1 1];
- magenta is [1 0 1];
- white is [1 1 1]; and finally
- black is [0 0 0].
- -- In particular, know what a colorbar would look like if these eight colors are used to define a colormap and then, if that colormap is displayed using Matlab's COLORBAR command.
1.11. 16 JULY 2011
- MIDTERM EXAM STUDY RECOMMENDATION: Please EXCLUDE the following from your midterm exam studies (and also from your exam extra credit quiz study): problem set #4, exercises 35--43. Those exercises address Matlab's WHILE loops, and we did not yet cover these structures in class. So you may safely ignore exercises 35--43 from problem set #4, for now. We'll get to them later.
- Just a short time ago I uploaded last evening's presentations to Blackboard: (1) "Introduction to Images and ColorMaps"; (2) "Image Processing and Pattern Recognition"; and (3) "Introduction to Matlab (update #3)". I also uploaded the homework #1 answer key and problem set #6. PLEASE NOTE: Exercises 6 -- 15 from problem set #6 are allowable on your midterm exam and so, even though I assigned no homework last evening (you have enough to do finishing homework #3, studying for your exam extra credit quiz on Monday, and for your midterm exam on Wednesday), you should nevertheless still review exercises 6 -- 15 from problem set #6 since they cover the material contained in last evening's presentations.
- I intend to generate your midterm review and distribute that to all of you this weekend, on this Wiki and via email. It will consist of exercise selections from problem sets 1--6; those exercise selections will be representative of the problems you're likely to encounter on your midterm. Note: By representative I don't necessarily mean identical!
- I've already given you study advice for Monday's quiz. That quiz will probably consume 20--30 minutes and will likely consist of at least two problems, each of which could feature multiple parts. Again, since this is an exam extra credit quiz, please expect these quiz problems to be more challenging than those you've encountered thus far.
- Monday will be somewhat different than the previous class meetings in that after the first break, I'll open the floor to your questions. These should address material covered in the previous five class meetings (up through the presentation entitled, "Image Processing and Pattern Recognition" and through problem set #6), in preparation for your midterm exam. If we finish early, or if you run out of questions to ask, then Soo, Samantha and I will use the remaining time to work one-on-one with students, as requested.
- Note regarding Matlab connectivity: Seems like the connectivity to Matlab varies considerably from class meeting to class meeting. So, I guess what we'll need to do is get into the VCL reservation queue early. I therefore recommend that when you first arrive in class, you should open your laptops and get your VCL reservations committed right then and there. Select a four hour reservation. That way, we can utilize the 45+ minutes in the first lecture period when we're not using Matlab, to establish a Matlab connection, and then keep that connection active throughout the remaining class period.
- Note on homework #2 (update): Homework #2 grades are now posted; the answer key will follow shortly.
- Note on availability: Unfortunately I'm not available for office hours this coming Tuesday evening, 19 July 2011. If you would like to meet with either Soo or Samantha on Tuesday evening, prior to the midterm exam, please email them and they will coordinate meeting times with you.
1.12. 15 JULY 2011
- Last evening I uploaded to Blackboard two short tutorials that I wrote for past CDS-130 classes, one on nested FOR loops and the other on IF statements. They're a couple of pages each. Please read them, if you have the time, before this evening's class and you'll get a "jump start" on these important topics as we head into image processing. I'd certainly recommend reading them before your first exam extra credit quiz on 18 July and your midterm exam on 20 July. Please note that the suggested problems accompanying these short tutorials are NOT assigned as homework.
- Monday's exam extra credit quiz #1 (upcoming on 18 July): This quiz will cover all material presented and assigned through the end of this evening's class. It will feature fewer problems than the 13 July homework extra credit quiz. Problems on Monday's quiz will therefore be somewhat more challenging than those on either the homework thus far or on Wednesday's quiz (because, as stated before, Monday's quiz is for exam extra credit). I will give you a bit more time to complete it. Here are my specific recommendations about what to study to prepare for it:
- Study the operation of the template method in detail and in particular, think about how you would create and then use a new template to convert back-and-forth from base ten and another base (a base other than base two). As you think about how to construct this new template, please consider what symbols are available to you in the new base to represent numbers (recall: in base ten, we have the symbols 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9 available to represent numbers, whereas in base two we have only the symbols 0 and 1 available to represent numbers). Finally, think about the what the availability of these symbols means in terms of the subtractive technique that converts a base ten number into a number in the new base.
- Study how to generate an image from Matlab code (we will cover this topic tonite). In particular, ensure that you know how to create your own colormap (we will call it by the variable name "mycolormap" in tonite's presentations), and how to plot an image using that map. You should know the basic colors (red: [1 0 0]; green: [0 1 0]; blue: [0 0 1]; light blue: [0 1 1]; yellow: [1 1 0]; magenta: [1 0 1]; black: [0 0 0] and white: [1 1 1]), representing the eight possible combinations of three bits. Also ensure that you know how to create the matrix of values that represents an image, and, how to manipulate values inside that matrix. To do these things, you'll need to know how to use double nested FOR loops and IF statements, so please study the Matlab syntax for these statement types. Problem set #6, which will be released to you Saturday afternoon (16 July), contains exercises that practice these skills. I will not assign additional homework tonite. Problem set #6 will nevertheless be available for your study reference.
1.13. 14 JULY 2011
- HOMEWORK ASSIGNMENT #3: From Problem Set #5, please complete exercises 1, 2, 3, 4, 7, 8, 10, 11, 12 and 13. Homework #3 is due at the beginning of class on Monday, 18 July 2011.
- The grades for Homework Extra Credit Quiz #2 are now posted on Blackboard, along with the quiz answer key. I've also posted last evening's presentation, "Memory, Logic and Logic Gates"; the logic gate hand-out entitled "Logic Gates"; a revised Problem Set #4 (correcting the typo in Exercise 16 that I pointed out last evening); a revised Problem Set #5 (adding a short note reminding everyone of the "missing line" typo in each table and thus, to add an additional, eighth line to each table); Homework #3 and finally, the second update to the Matlab presentation. You will see that the "red star" in the Matlab presentation now resides on slide 132 which is where we will begin our discussion of Matlab's IF statements on Friday, 15 July.
- There were a few questions last evening about how the homework extra credit quiz works. Here's how: The points earned on last evening's quiz do not work against you. That is, they can only help you, not hurt you. What I do is add them to your total homework points earned during the course and then use that point total sum to compute your actual homework grade. For example, let's assume that there are six homeworks assigned during the course, and that each homework is worth 20 points. That means a student could have earned 120 possible points on homework. Let's further assume that this student earned 115 points on homework out of 120, and, that this student also earned 15 homework extra credit points along the way. Then this student's homework point total for the course would be 115 + 15 for a total homework point total of 130 points out of 120 possible points (and thus a final homework grade of 130/120 = 108.3%). Homework extra credit therefore does not "move the goal post", but instead helps you get there faster. Exam extra credit works similarly. The difference between the two is that when computing your final course grade, I will weight your final, cumulative homework grade by 40% and your final, cumulative exam grade by 60%. That's why I remarked earlier that exam extra credit is more valuable than homework extra credit -- it's weighted more because it gets added to the points earned on exams and not to those earned on homeworks.
- The revisions to Problem Sets #4 and #5 are as we discussed in class: In Problem Set #4 I changed the wording of Exercise #16 (changing the word "three" to "four") and in Problem Set #5 I added a small note at the beginning of the homework reminding students to add a line at the end of each logic table, making eight lines total per logic table.
- Homework #3 was also assigned, and consists of 10 exercises from Problem Set #5. Each of these exercises will be worth two (2) points. Grading policy will be as follows: 0 points if the solution is incorrect and the solution logic is incorrect; 1 point if the solution logic is generally correct but the solution itself might be incorrect (or perhaps in the vicinity of correct, but not quite there); or 2 points if both the solution and the solution logic are correct. Please note that these are general guidelines.
1.14. 12 JULY 2011
- HOMEWORK ASSIGNMENT #2: From Problem Set #3, please complete exercises 4, 6, 9, 10, 12 and 17. From Problem Set #4, please complete exercises 3, 4, 7, 18, 19, 24, 25, 26 and 29. Homework #2 is due at the beginning of class on Friday, 15 July 2011. There are 15 problems in Homework #2; grading will again consist of a 0.0, 0.5, or 1.0 awarded per problem, for a total of 15 possible points in Homework #2.
- All presentations from last evening's class are now available on Blackboard: Two lectures and the Matlab presentation (available in the folders entitled "Class 3" and "Matlab Presentation", respectively). Note that the "big red star" in the Matlab presentation has moved along significantly: Last evening's Matlab session fast-forwarded past the remaining material on vectors and introduced FOR loops. I'd like everyone to read through the remaining vector material (from slide #28 through the beginning of the FOR loop section of the Matlab PowerPoint presentation). Please note that the material "to the left" of the red star will not change, but that material "to the right" of the star may change and in fact already has since our 11 July class meeting: I've rearranged the Matlab presentation so that we'll cover FOR loops followed by Double Nested FOR loops and then IF statements. The material on WHILE loops has been moved to the back of the presentation; we'll cover that time permitting. It's essential, however, that we study Double Nested FOR loops and IF statements prior to arriving at the "Introduction to Images" and "Image Processing" lectures on 15 July.
- In order to facilitate that arrival, I plan to defer tomorrow's "Random Numbers" lecture and replace it instead with an additional Matlab lecture, thus continuing our progress through the Matlab presentation, hopefully completing the discussions of Double Nested FOR loops and IF statements by 15 July.
- To prepare for tomorrow's Homework Extra Credit Quiz #2, my recommendation is to study the Binary Template Method, the Extended Binary Template Method, Binary Multiplication, Powers-of-Two as introduced in Problem Set #3, and the definitions of bits, bytes, kilobytes, megabytes, etc. that were discussed in class and that are introduced in Problem Set #4. You will have about 15--20 minutes (give or take a few minutes) to complete this quiz. Points earned on this quiz will be added to your homework points total for this class.
1.15. 11 JULY 2011
- Remember: Don't hesitate to contact either me, Ms. Choi or Ms. Fleming if you have homework questions: We're all available by email, and you can also text me at the number I distributed during our first class.
1.16. 8 JULY 2011
- HOMEWORK ASSIGNMENT #1: From Problem Set #1, please complete exercises 1, 3, 6, 7, 11, 12, 16, 17 and 20. From Problem Set #2, please complete exercises 2, 4, 6, 9, 11, 14, 17, 21, 22, 23 and 26. Homework #1 is due at the beginning of class on 13 July 2011.
- All presentations from tonite's class are now available on Blackboard: Two lecture presentations and the Matlab presentation (available in the folders entitled "Class 2" and "Matlab Presentation", respectively). Note that the Matlab presentation will have a large red star on one slide. This red star marks our progress through the presentation: That is, tonite we went from slide 1 up to the red star. On Monday, we'll move the red star further along into the presentation, Wednesday even further. Etc. So this means that the Matlab presentation will be continuously updated as we go along.
- Homework Assignment #1 is also available on Blackboard, along with Problem Sets #1 and #2 (available in the folder entitled "Homework Assignments and Problem Sets"). Please see above for a listing of the problems that comprise Homework #1 as well as its due date. You may submit Homework #1 in hard copy, or online via posting to your Wiki page. Either way, I encourage you to show your work for each of the problems: Remember, we can't give partial credit if there is no work to support it. There are 20 problems in Homework #1; grading will consist of a 0.0, 0.5, or 1.0 awarded per problem. A 0.0 generally means that not only was the solution incorrect, but also the solution logic was incorrect. A 0.5 generally means that there was some feature of the solution that was incorrect, but, that it was also clear from the work shown that the correct ideas were grasped (even though the implementation may have gone somewhat astray). Finally, a 1.0 generally corresponds to (a) the correct solution and (b) correct solution logic.
- Please bring your laptops to this evening's class. Also please ensure that you can successfully access Matlab using your laptop: We will begin discussing Matlab syntax tonite and so I'd like eveyone to be able to follow along step-by-step, on their computers, as we work through examples.
1.17. 7 JULY 2011
- The PowerPoint presentations from last evening's class are now available for you in Blackboard: you should see an announcement when you log in. The files are found under the "Class 1" folder that appears in the "Content" window.
- Results from last evening's first homework extra credit quiz are available in Blackboard: click on the "Grades" tab to view your score. Five (5) extra credit points were offered on this quiz.
- Please ensure that you can access Matlab prior to this Friday's class (8 July 2011), as per instructions reviewed last evening. Please also bring your laptops to Friday's class; the Matlab session will feature practice problems along the way that you should work on using Matlab. As always, please ask questions along the way!
1.18. 4 JULY 2011
HAPPY FOURTH OF JULY TO EVERYONE!
1.19. 3 JULY 2011
- All students enrolled in the CDS-130 Summer "C" session will now have a presentation entitled, "Accessing the Matlab Environment" appearing on their Blackboard "Course Content" tab.
1.20. 1 JULY 2011
- All students enrolled in the CDS-130 Summer "C" session will now have a CDS-130 course appearing on their Blackboard roster; the course syllabus is available there. I will also hand out hard copies of the syllabus at our first class meeting. Those students who replied to my first email announcement have already received .pdf copies of the same syllabus appearing on Blackboard.
1.21. 30 JUNE 2011
- Prior to our first class meeting, please feel free to create a Wiki page for yourself on this server (I'll ask you to create one at our first class meeting, so this is a chance to get that out of the way). You can create an account here. When creating your account, please use an alias. You'll give me your alias name and account password during our first class. Or, if you create your account prior to our first class meeting, please email this information to me, and "CC" Ms. Choi and Ms. Fleming on that email as well (see welcome announcement email sent to all registered class members on 30 June 2011 for their email addresses, or, refer to the class syllabus).
- To keep up-to-date with class announcements, consider creating your Wikipage Watchlist (here) and adding this page to it. If you do so, you can then set-up your Wiki email options (here) to send you an email notification when this page is updated with new announcements.
1.22. 24 JUNE 2011
- If you own a laptop computer, you are strongly encouraged to bring it to our first class meeting on 6 July. We will review Matlab remote access procedures, and having your laptop handy will enable you to follow along, keystroke by keystroke.
2. INTERESTING FACTS AND ENTERTAINING STUFF
2.1. 1 JULY 2011
- Who ever said binary was boring? Binary is the first thing we study in CDS-130 and so, why not have a little fun while you learn? Try this game, courtesy of Cisco Systems: Binary Game. The game is simple, but strangely addictive. Kind of like Tetris.
- What's a zettabyte? Answer: A HECK of a lot of data! Find out here: Zettabyte