This week, we learned about debugging techniques. There are multiple ways to do this such as glass-box, black-box, testing edge conditions, and incremental testing. In glass-box testing, every path through a program is tested as opposed to black-box testing where a range of inputs are tested. In edge conditions, the largest+1 and smallest-1 values are tested. In incremental testing, the code is tested as it is written so errors are found and dealt with as soon as they appear. When debugging with JES or other IDEs, the debugger can be used to watch variables behavior. The error messages given and printing outputs will help as well.
In software engineering, there are two ways to engineer: top-down (eg waterfall) or bottom up. In top-down design, a list of requirements are made which describe how it should work and what tasks it needs to do. Then the hierarchical design is used to describe the functions that are needed and those are broken down into the helper functions it requires. In bottom-up design, the smallest functions are made before the larger functions.
In debugging, there are 3 types of common errors. Syntax errors are when there is a problem with the structure of the program like a missing colon. Syntax errors are indicated by "SyntaxError:".In order to avoid these, make sure not to use reserved Python keywords, have a colon after headers and loops, use straight quotes, closed multiline strings, closed operators, correct assignments in conditionals, correct indentation, and non-ASCII characters in the code. Runtime errors are made when the program is running which will describe where the error is and that was executing when it happened like an infinite recursion error. A semantic error is where there is a problem with a program that runs without producing errors but doesn't give the correct result.
Tuesday, November 27, 2018
Tuesday, November 20, 2018
Week 13: CST 205
This week, we started the sound modules. The sounds we worked with were .wav files, which are not compressed. Sounds travel in compression waves that are created by changes in pressure. It is measured in rarefaction cycles and decibels (dB). The amplitude of the wave is the distance from 0 to the height in the y axis, a large amplitude will have a loud sound. When a full wave occurs, it is the frequency which is related to the pitch. When the frequency increases, the pitch increases.
We learned how to manipulate sound with Python. We increased the volume by getting the sample value of a sound at a specific sample then setting that sample to a larger value. This was done for all for the samples in the sound resulting in an increased volume. We then learned how to increase or decrease the volume in a given range for a sound by varying the lengths involved and varying the value. We then learned how to combine sounds by making an empty sound and then copying the sounds into it with a for loop in the range of the entire sound clip.
In lab 8, we learned the basics of sound. We learned how to decrease the volume in a sound clip by divinding the value by half. We also learned how to change the volume of a sound by a factor by multiplying that value by a predefined factor variable. Next, we found the maximum number of samples by using the abs() function and setting the largest number it can find to max_value iteratively. Next, we set the samples to its max value using maxSample(sound).
In lab 10, we practiced strings and made a hangman game. In the warmup, we used the requestString(str) to ask for a name in a popup dialogue box. Later, a hangman class was made. This created allowed the computer to ask the user for letter guesses. If it was correct, it would evaluate the letter and add the letter to the word.
We learned how to manipulate sound with Python. We increased the volume by getting the sample value of a sound at a specific sample then setting that sample to a larger value. This was done for all for the samples in the sound resulting in an increased volume. We then learned how to increase or decrease the volume in a given range for a sound by varying the lengths involved and varying the value. We then learned how to combine sounds by making an empty sound and then copying the sounds into it with a for loop in the range of the entire sound clip.
In lab 8, we learned the basics of sound. We learned how to decrease the volume in a sound clip by divinding the value by half. We also learned how to change the volume of a sound by a factor by multiplying that value by a predefined factor variable. Next, we found the maximum number of samples by using the abs() function and setting the largest number it can find to max_value iteratively. Next, we set the samples to its max value using maxSample(sound).
In lab 10, we practiced strings and made a hangman game. In the warmup, we used the requestString(str) to ask for a name in a popup dialogue box. Later, a hangman class was made. This created allowed the computer to ask the user for letter guesses. If it was correct, it would evaluate the letter and add the letter to the word.
Tuesday, November 13, 2018
Week12 CST 205
This week, we made Team Improvement Plans. In my plan, I plan to do the following:
Complete assignments before the Tuesday deadline
Code review is reviewing others' code and having your code reviewed. In code review, code can be discussed in terms of tradeoffs and preference. Questions should be asked and not demands. Good questions are clarifying and not judgemental. Ownership of and namecalling of code should not be done. When you have your code reviewed, don't take things personally and know that the reviewer has your best intentions in mind. You should also respond to every comment. When reviewing code, you should tell which ideas you feel strongly about. You should also find ways to simplify the code and give alternatives.
In the "How to Get a Job at Google" article by Thomas L. Friedman, he mentioned that general cognitive ability or learning ability is very important at Google. Another important aspect to a candidate is leadership: knowing when to lead or to let someone else lead. Humility and ownership are also important in problem-solving because it tells when someone should help solve a problem or to let others fix it.
Complete assignments before the Tuesday deadline
Finish attempting group labs before group lab meeting
Either use pycharm to get more helpful errors or learn more about JES errors
Find when office hours are and go to the prof/TA for help before the group lab
Code review is reviewing others' code and having your code reviewed. In code review, code can be discussed in terms of tradeoffs and preference. Questions should be asked and not demands. Good questions are clarifying and not judgemental. Ownership of and namecalling of code should not be done. When you have your code reviewed, don't take things personally and know that the reviewer has your best intentions in mind. You should also respond to every comment. When reviewing code, you should tell which ideas you feel strongly about. You should also find ways to simplify the code and give alternatives.
In the "How to Get a Job at Google" article by Thomas L. Friedman, he mentioned that general cognitive ability or learning ability is very important at Google. Another important aspect to a candidate is leadership: knowing when to lead or to let someone else lead. Humility and ownership are also important in problem-solving because it tells when someone should help solve a problem or to let others fix it.
Wednesday, November 7, 2018
Week11: CST 205
In Lab 4, we learned how to modify pictures pixel by pixel. We started by making a vertical mirror of a picture. We then mirrored a picture horizontally from top-to-bottom and bottom-to-top. After, we made a quadruple mirror. I wanted to use the functions I already created but it wouldn't work out. Then we copied a picture from one file, making another file. After learning how to save to a file, I could have saved it to another file instead of just displaying the result. Next, we rotated a picture by making a blank picture and copying the pixels into it. Finally, we shrunk a picture by sampling every other pixel and copying it to a blank canvas.
In Lab 5, we learned how to add blank space to images by adding pixels to the image. Then, we rewrote that function to become more reusable using a header. I rewrote my function to put pictures perfectly centered at the target x and y axis. In the end, we had a mini project where we inserted 8 pictures into one picture file and modified them with the functions we created earlier. For my project, I made it 5 x 7 or 1500 x 2100 pixels because it was too large when I examined it in explorer. The photo would update in my computer every time because it was saving it 8 times every time I ran the function. I could open the photo and it would update in real time. I wanted to import the other lab files but I wasn't able to make it work with "from Lab4 import *", I opted for copying the functions directly.
In Lab 6, we removed the red-eye from a picture. Our group exchanged all red with green in attempt to neutralize the red color. It worked but when I tried it on my own, I applied it to the entire picture. I could have applied the green fix to the eyes only and it would have been better. We created a sepia tint using the red and blue value multipliers after converting the picture to black and white. We also made an artify function which made color values in various ranges a single color for R/G/B. Finally, we created a picture using the Chroma-Key technique. It identified the already specified green values in the backdrop and applied the new background.
Tuesday, October 30, 2018
Week10: CST 205
Jython will be used to manipulate
digital images with Python using JES. In digital imaging, there are many
components of a picture. The pixel values are assigned a tonal value that can
have many values. The bit depth is the number of bits used to define each
pixel, for example a 24 bit depth picture is 8/8/8 for r/g/b. The resolution is
the ability to see detail in a picture and is related to spatial frequency in
DPI/dots per pixel or PPI/pixels per inch.
There
are many types of digital image files such as JPG, TIF, RAW and GIF. In file
types there is lossy vs. lossless compression where some or no data is
discarded when compressing. TIFF is used as a lossless image format but the
files are large. GIF uses only 256 colors and matches similar colors to the
ones it uses. It reduces the colors used and replaces common patterns in large
areas. JPG is the best for photos and stores them in 24 bit color/16 million
colors but discards info the eye can’t see. RAW is lossless and smaller then
TIFF files but they vary by manufacturer.
In
pair programming, two programmers work on the same design to make one code
product. The driver codes and the navigator finds problems, asks questions, and
helps. This leads to better scores, friendships, and understanding allowing
each to be both the teacher and the student. It is an Agile software
development technique where each line is reviewed as it is typed and
improvements are suggested. There can be disengagement if the two have bad
teamwork or communication. Online tools can be used to facilitate the pair
programming process such as Github, Zoom.us, Hangouts, Slack video chat, and Team Viewer.
Wednesday, October 24, 2018
Week 9 CST 205 Multimedia Programming and Design
I learned that I will need 8-10 hours to get familiar with
python. So far, I have installed PyCharm to at least have an IDE for python. I
have had some trouble with it. I decided to reset my python progress on
codeacademy.com since I did it more than a year ago. Learn Python on that
website is actually python 2 according to my research. I am going to a few used
bookstores to see if I can get a book to help me with python. I like to have a
paper copy so I can underline and write my notes in the book. The material will
be released and due on the same days as the other course. There will be two
peer evaluation sessions, so I can get more feedback on my skills from my
teammates.
In this course I hope to learn how to work with python and
maybe the adobe creative suite since it was free through the school. It will be a challenge for me to learn the
basics this week. I planned out a 15h primer which includes 5h of codeacademy.com,
5h of geeks4geeks.com to learn basic functions, and 5h of translating the Java data
structures in my Cracking the Coding Interview book to python. It is ambitious
but getting some learning done is better than none.
Sunday, October 21, 2018
Week8
·
https://www.youtube.com/watch?v=QHmqI9gOAtk&feature=youtu.be
o
SCSI Logic
o
Sara
Kazemi Nathan Warren-Acord Ryan Dorrity Cody Young
·
is the topic well covered?
o
yes
·
is the presentation clear?
o
Yes
o
At 2:24 the chart wasn’t up long enough
to read
·
how is the quality of the research?
o
good
·
how is the quality of the video
production?
o
Very good. The pictures were informative
and the music was not too distracting.
·
is the video engaging and interesting?
o
Yes, it had many interesting pictures
but it would have been nice to have an intro so we knew what we were going to
learn.
·
is the team work evident?
o
Yes, all team members had time to talk
·
is the video appropriate to the audience
(either general public or technology professionals)
o
yes, it was easy to understand even
though it was a difficult topic.
o
I think the general public video was
good because it used a lot of imagery kids like , like memes or meme like
images.
o
JAAZ Software
o
Aaron Newman, Anthony Davis, Jacob West,
Zachariah Thomas
·
is the topic well covered?
o
yes
·
is the presentation clear?
o
Yes, it was clear because the graphics
and words were simple.
·
how is the quality of the research?
o
Blockchain might be secure but the
exchanges are not when the point is to get your money in real life eventually.
o
I thought it would be good to mention
the darker side of bitcoin/crypto eg kidnappings, murder, drug dealing.
·
how is the quality of the video
production?
o
Very good, there weren’t errors or jumpy
places.
·
is the video engaging and interesting?
o
Yes, I found it interesting and learned
a lot about blockchain.
·
is the team work evident?
o
Yes, all of the team members were able
to talk.
·
is the video appropriate to the audience
(either general public or technology professionals)
o
No, I think it was appropriate for the
general public but not academically rigorous enough for technology
professionals.
o
Northwestern Technology
o
Brian Sheridan, Kevin Bentley, Craig
Calvert, Samuel Pearce
·
is the topic well covered?
o
yes
·
is the presentation clear?
o
Yes. It gave a lot of info about how many
there are and what its growth has been. It also gave good info on the monetary
cost of replacing a worker. I always thought it would be a lot more money to
install one. In my city, of Merced I’ve only seen them in one Mcdonalds and one
Walmart but not Food4less or Savemart.
·
how is the quality of the research?
o
I would say they are not as fast as the
checkout clerk because they tend to need a clerk to help fix problems. If I’m
buying more than 5 things, I need help with the self checkout because of a
weight error or such.
·
how is the quality of the video
production?
o
Very god
·
is the video engaging and interesting?
o
Yes. I liked the drawing in the videos.
·
is the team work evident?
o
yes
·
is the video appropriate to the audience
(either general public or technology professionals)
o
yes
Part 2: Keep Up With Your Learning Journal
Add the last entry about what you have learned in
the class. How have your team communicated and/or collaborated? What can
you do to make that collaboration more effective next time?
In
our team, we did not stick to the schedule as in recording the video on
Thursday. We ended up recording the video at 10pm on Saturday. I would say we
had decent communication, we knew who was going to be available when and for
how long. I think we would need to
divide the time equally by the person because a lot of my parts were examples
and not exactly core content. A lot of my work was cut in the final edit so it
looks like I wasn’t doing anything. I think we should have separated the sections
by topic so one person has the first 3, the next has the next 3 and so on. We
could then edit it on our own to fit our time allotment and then combine them
at the end.
Our Team Videos
youtu.be/cFQPIlNsJAQ | youtu.be/qc1yVGediX0 |
Subscribe to:
Posts (Atom)
cst 499 week 8
This week, we finished writing the paper in order to do the best job possible even if it was a little bit late. Now that everything is done,...
-
This week, our group discussed the effective meetings reading from last week. It seemed like we already used a few ideas in the article thro...
-
This week, we learned about raytracing and it's similarities and differences from rasterization. We also learned about the CPU and GPUs ...
-
Give an example of polymorphism and what what be inherited between classes. After the learning this week, can you identify the difference...