Friday, September 9, 2016

Chapter 2 - Fundamentals of Data and Signals


A)      Introduction
a.       Possible data-to-signal conversion combinations
                                                               i.      Analog data-to-analog signal – amplitude and frequency modulation techniques
                                                             ii.      Digital data-to-square-wave digital signal – encoding techniques
                                                           iii.      Digital data-to-(a discrete) analog signal – modulation techniques
                                                           iv.      Analog data-to-digital signal – digitization techniques
1.       Digitization – converting analog data to digital signals
B)      Data and Signals
a.       Data – entities that convey meaning within a computer or system
                                                               i.      Example
1.       Computer file of names and addresses
b.       Signal – electric or electromagnetic impulses used to encode and transmit data
                                                               i.      Example
1.       Transmission of a telephone conversation over a telephone line
c.       Analog vs. Digital
                                                               i.      Analog data and analog signals are represented as continuous waveforms that can be at an infinite number of points between some given minimum and maximum. Usually presented as voltages
1.       Noise – unwanted electrical or electromagnetic energy that degrades the quality of signals and data
                                                             ii.      Digital data and digital signals are composed of a discrete or fixed number of values, rather than a continuous or infinite number of values
                                                           iii.      A look at how noise distorts digital signals



d.       Fundamentals of signals
                                                               i.      Amplitude – the height of the wave above (or below) a given reference point
1.       Denotes the voltage level of the signal (measured in volts), can also denote the current level of the signal (measured in amps), or the power level of the signal (measured in watts
                                                             ii.      Frequency – number of times a signal makes a complete cycle within a given time frame
                                                           iii.      Period – length, or time interval, of one cycle for frequency
                                                           iv.      Spectrum – range of frequencies that a signal spans from minimum to maximum
                                                             v.      Bandwidth – the absolute of the difference between the lowest and highest frequencies
                                                           vi.      Because extraneous noise degrades original signals, an electronic device usually has an effective bandwidth less than its bandwidth
                                                          vii.      Phase – the position of the waveform relative to a given moment of time, or relative to time zero
                                                        viii.      Attenuation – loss of power or loss of signal strength
1.       When traveling through any type of medium, a signal always experiences some loss of its power due to friction
                                                            ix.      Decibel (dB) – relative measure of signal loss or gain and is used to measure the logarithmic loss or gain of a signal
1.       Equation to measure signal loss or gain: 
a.       P2 = ending power level
b.       P1 = beginning power level
                                                             x.      Amplification – signal gains in decibel
C)      Converting Data into Signals
a.       Transmitting analog data with analog signals
                                                               i.      Modulation – process of sending data over a signal by varying its amplitude, frequency, or phase

b.       Transmitting digital data with square-wave digital signals: digital encoding schemes
                                                               i.      Nonreturn to zero digital encoding schemes
1.       Nonreturn to zero-level (NRZ-L) – transmits 1s as zero voltages and 0s as positive voltages
2.       Nonreturn to zero inverted (NRZI) – voltage change at the beginning of a 1 and no voltage change at the beginning of a zero
                                                             ii.      Manchester Digital Encoding Schemes
1.       Properties of Manchester encoding scheme
a.       To transmit a 1, the signal changes from low to high in the middle of the interval, and to transmit a 0, the signal changes from high to low in the middle of the interval
2.       Differential Manchester
a.       If there is a transition at the beginning of the interval, then a 0 is being transmitted, if there is no transition at the beginning of the interval, then a 1 is being transmitted
3.       Self-clocking – the occurrence of a regular transition is similar to second ticking on a clock
4.       Baud rate (baud) – the number of times a signal changes value per second
5.       Data rate is measured in bits per second (bps)
                                                           iii.      Bipolar-AMI encoding scheme – uses three voltage levels
1.       When transmitting a 0, a zero voltage is transmitted
2.       When transmitting a 1, either a negative or positive voltage is transmitted
                                                           iv.      4B/5B Digital encoding scheme – takes 4 bits of data, coverts the 4 bits into a unique 5-bit sequences, and encodes the 5 bits using NRZI
D)      Transmitting digital data with discrete analog signals
a.       Amplitude shift keying – amplitude is represented by two different amplitudes for a signal
                                                               i.      Can use more amplitudes in order to achieve two-bit representation
b.       Frequency shift keying – uses two different frequency ranges to represent data values of 0 and 1
                                                               i.      Intermodulation distortion – a phenomenon that occurs when the frequencies of two or more signals mix together and create new frequencies
c.       Phase shift keying – represents 0s and 1s by different changes in the phase of a waveform
                                                               i.      Quadrature phase shift keying – incorporates four different phase angles, each of which represents 2 bits
1.       a 45-degree phase shift represents 11
2.       a 135-degree phase shift represents 10
3.       a 225-degree phase shift represents 01
4.       a 315-degree phase shift represents 00
                                                             ii.      quadrature amplitude modulation – uses each signal to represent 4 bits
E)      Transmitting analog data with digital signals
a.       Pulse code modulation (PCM) – a codec, coverts the analog data to a digital signal by tracking the analog waveform and taking “snapshots” of the analog data at fixed intervals
                                                               i.      The binary value is then transmitted by means of a digital encoding format
                                                             ii.      Pulse amplitude modulation (PAM) – tracking an analog waveform and converting it to pulses that represent the wave’s height above a threshold
                                                           iii.      Sampling rate – frequency at which snapshots are taken

                              
b.       Delta modulation – a codec tracks the incoming analog data by assessing up or down “steps”. During each time period, the codec determines whether the waveform has risen one delta step or dropped one delta step. If the waveform rises on delta step, a 1 is transmitted, if the waveform drops, a 0 is transmitted
                                                               i.      Slope overload noise – when the analog waveform rises or drops too quickly, the
codec is not able to keep up with the change

F)       Data Codes – set of all textual characters or symbols and their corresponding binary patterns
a.       EBCDIC – 8 bit code allowed 256 (28 = 256) possible combinations of textual symbols


b.       ASCII (American Standard Code for Information Interchange) – 7-bit version that allows for 128 (27 = 128) possible combinations
                          
c.       Unicode – encoding technique that provides a unique coding value for every character in every language, no matter the platform



Chapter 1 – Introduction to Computer Networks and Data Communications Outline

A)      The Language of Computer Networks
a.       Computer network – an interconnected group of computers and computing equipment using either wires or radio waves that can share data and computing resources
                                                               i.      Wireless – computer networks that use radio waves. Can involve broadcast radio, microwaves, or satellite transmission
b.       Types of networks
                                                               i.      Personal area networks (PANs) – networks spanning an area of several meters around an individual. Include laptop, computers, smart cell phones, music players, and wireless connections
                                                             ii.      Local area networks (LANs) – networks spanning a room, a floor within a building, or an entire building
                                                           iii.      Campus area networks (CANs) – collections of local area networks that cover a campus (college campus or business campus)
                                                           iv.      Metropolitan area network (MANs) – networks that serve an area up to roughly 50 kilometers. They are high-speed networks that interconnect businesses with other businesses and the internet
                                                             v.      Wide area networks (WANs) – large networks encompassing parts of states, multiple states, countries, and the world
c.       Cloud
                                                               i.      Network cloud and cloud computing
d.       Data and signal
                                                               i.      Data – information that has been translated into a form more conductive to storage, transmission, and calculation.
                                                             ii.      Signal – used to transmit data
e.       Data communications – transfer of digital or analog data using digital or analog signals. Once created, these analog and signals are then transmitted over conducted media or wireless media
                                                               i.      Interfacing – sending one signal over a medium at one time
                                                             ii.      Multiplexing – the transmission of multiple signals on one medium. To transmit multiple signals simultaneously, they must be altered to not interfere with each other
                                                           iii.      Compression – squeezing data into a smaller package, thus reducing the amount of time needed to transmit the data
f.        Voice and data networks
                                                               i.      Merging of voice and data networks is an example of convergence
B)      The Big Picture of Networks
a.       Work stations – personal computers (microcomputers, desktops, laptops, or tablets) or smartphones
b.       Servers – computers that store network software and shared or private user files
c.       Switches – collection points for the wires that interconnect the workstations
d.       Routers – connecting devices between local area networks and wide area networks such as the internet
e.       Nodes – computing devices that allow workstations to connect to the network and that make the decisions about where to route a piece of data
f.        Subnetwork – consists of the nodes and transmission lines, collected into a cohesive unit
C)      Common Examples of Communications Networks
a.       The desktop computer and the internet
                                                               i.      Client/server system – client machines issues request for some form of data or service. Could be for database record from database server or request for a Web page from a Web server
b.       A laptop and a wireless connection
                                                               i.      Data communication protocols – sets of rules used by communication devices
c.       Cell phone system

d.       Other common network systems
         
                                                               i.      Computer terminal – a device that was essentially a keyboard and screen with no large hard drives, no gigabytes of memory, and little, if any, processing power

D)      Convergence – process of coming together toward a single point
E)      Network architectures
a.       Network architecture (communications model) – places the appropriate network pieces in layers. Each layer in the model defines what services either the hardware or software provides
                                                               i.      TCP/IP protocol suite – working model (currently used on the internet)
 


1.       Application layer – supports the network applications and in some cases include additional services such as encryption or compression
a.       Hypertext Transfer Protocol (HTTP) – allow Web browsers and servers to send and receive World Wide Web pages
b.       Simple Mail Transfer Protocol (SMTP) – allow users to send and receive electronic mail
c.       File Transfer Protocol (FTP) – transfer files from one computer system to another
d.       Telnet - allow a remote user to log in to another computer system
e.       Simple Network Management Protocol (SNMP) – the numerous elements within a computer network that are managed from a single point
2.       Transport layer – uses TCP to maintain an error-free end-to-end connection.
a.       Includes error control information in case one packet from a sequence of packets does not arrive at the final destination and package sequencing information so that all packets stay in the proper order.
b.       Performs end-to-end error control and end-to-end flow control
3.       Network layer (internet layer or IP layer) – used to transfer data within and between networks
a.       Internet protocol (IP) – software that prepares a packet of data so that it can move from one network to another on the internet or within a set of corporate networks
                                                                                                                                       i.      Generates the network addressing necessary for the system to recognize the next intended receiver
4.       Network access layer – layer that gets the data from the user workstation to the internet
a.       Prepares a data package (called a frame) for transmission from the user workstation to a router sitting between the local area network and the Internet
5.       Physical layer – layer in which the actual transmission of data occurs
a.       Physical layer handles voltage levels, plug and connector dimensions, pin configurations and other electrical and mechanical issues
b.       Also determines encoding or modulation technique to be used in the network
                                                             ii.      Open Systems Interconnection (OSI) model – originally designed to be a working model but has been used as a theoretical model

1.       Application layer – where the application using the network resides
2.       Presentation layer – performs a series of miscellaneous functions necessary for presenting the data package properly to the sender or receiver
3.       Session layer – responsible for establishing sessions between users
a.       Can support token management, a service that controls which user’s computer talks during the current sessions by passing a software token back and forth
b.       Also establishes synchronization points – backup points used in case of errors or failures
4.       Transport layer – ensures that the data packet that arrives at the final destination is identical to the data packet that left the originating stations
5.       Network layer – responsible for getting the data packets from router to router
6.       Data link layer – responsible for taking data from the network layer and transforming it into a frame
7.       Physical layer – handles the transmission of bits over a communications channel
                                                           iii.      Logical and physical connections
1.       Logical connection – nonphysical connection between sender and receiver that allows an exchange of commands and responses
2.       Physical connection – only direct connection between sender and receiver and is at the physical layer, where actual 1s and 0s – the digital content of the message – are transmitted over wires and airwaves
F)       Encapsulation – control information to a package as it moves through the layers


Monday, April 28, 2014

Tools? What tools?

What are your tools?

A tool is something that you use for a given task. This could be something as simple as a drill to screw in something, or it could be a skill that you have. The tools I use as a computer scientist vary according to the job given. Sometimes I am using my keen eye to attention and colors, other times I am using my ability to assess problems and find solutions. The tasks I am given requires a set of tools that I have hopefully, if I do not have the necessary tools then I must acquire them. 

The most used Google Drive applications.

Tools I acquired this semester:
  • Google Drive
  • Adobe Illustrator
  • QR Code manipulation
  • Researching topics more in depth
  • Understanding that I know more than what is on paper (I did not know that knowing how to wrap network cable was a skill until someone told me)

Design knowledge + Color knowledge = Appealing

Some of my favorite tools that I hold are my attention to layouts and color. By having some background in both of these, I am able to work towards a product that is visually appealing and is simple to use. I have a fascination with website designs and how things fit together. There is a reason why websites such as Facebook and Instagram have a lot of whitespace and why they picked those colors. It is easy on the eyes and it prevents the user from getting confused.

Design is a necessary part of making a website.

The degree to which I use these tools is changing as I further my programming skills. Having knowledge about design will put me ahead of many programmers because it will allow me to create something that is not too cluttered and just works. Sometimes programmers forget that you cannot just rely on the user wanting to use your app because it is useful. Sometimes having a simpler and minimalist design trumps having a bunch of cool features. This can be shown by the iPhone and what Apple has done in their products.



Networking Problems, Please Advise

Mobile Network
Internet problems? Good luck.

The United States is supposed to be the model by which other countries follow. However, we fall short in many areas, including holding the highest average internet speed. The United States ranking according to Net Index is 33 out of all the countries in the world. Even though 33 out of all countries in the world is not bad, it is not ideal. Especially since the United States prides itself as being one of the most technological advanced countries. 

World comparison of internet speed cost per mbps.

Here is a list of some of the countries that beat the United States and their average internet speeds.
  • #1 Hong Kong 78.31 Mbps
  • #2 Singapore 66.62 Mbps
  • #4 South Korea 53.60 Mbps
  • #9 Japan 41.45 Mbps
  • #17 France 34.10 Mbps
  • #23 United Kingdom 26.85 Mbps
  • #31 Russia 23.97 Mbps
  • #33 United States 23.72 Mbps

This list illustrates that the United States is far from the place where it wants to be. The question that easily arises is why a country like Hong Kong is so far ahead of the United States. As was pointed out in an NY Times article, it is because the mentalities are different for both countries. A new Internet Service Providers (ISP) company does not mind losing money for several years as it builds its network out. The bottom line is not everything because they know that they have to suffer a little before competing with the bigger ISP groups. In the United States the most reliable service comes from Verizion which offers its FIOS network. Verizon does not have to prove itself anymore, it has a loyal customer base and they do not have to do anything outrageous to draw in customers. They have no incentive to push forward with higher speeds. New up and coming Internet Service Providers (ISP) in Hong Kong have something to prove and they are willing to take the risk.

map1
Which ISP is dominate in each state.

In order for the United States to maintain its status as a world power, things need to change. Technologically things need to be more supported. Many new laws and current legislation make it hard for smaller companies to even begin competing with the bigger companies. The United States does not have to be in the position its in, we can change so that we do not have to be waiting for pages to load. 

Blue Website Loading Bar (Psd)
Stop this from happening and do something!


Sources: 
  1. "Blue Website Loading Bar (Psd)." Blugraphic RSS. N.p., n.d. Web. 29 Apr. 2014.
  2. Choi, Christy. "Hong Kong Has Fastest Peak Internet Speed in World." South China Morning Post. N.p., 25 Jan. 2013. Web. 29 Apr. 2014.
  3. "Daily Hen for Daily Life Tips." Daily Hen for Daily Life Tips. N.p., 19 Jan. 2013. Web. 29 Apr. 2014.
  4. "Did You Know Which Country Is Providing World Fastest Internet Speed ?"HybridTechCar. N.p., 23 Aug. 2013. Web. 29 Apr. 2014.
  5. Guarini, Drew. "This Is The United States Of Comcast, Depressing Map Shows."The Huffington Post. TheHuffingtonPost.com, 04 Mar. 2014. Web. 29 Apr. 2014.
  6. "Household Download Index." Download Speed by Country. N.p., n.d. Web. 29 Apr. 2014.
  7. "Internet Speeds and Costs Around the World." Infographics Archive. N.p., n.d. Web. 29 Apr. 2014.
  8. Stross, Randall. "Cheap, Ultrafast Broadband? At Least Hong Kong Has It." The New York Times. The New York Times, 05 Mar. 2011. Web. 29 Apr. 2014.

Monday, April 21, 2014

Beta Testing, Not the Same as Usability Testing

Dilbert.com
Using Beta Testers to Find the Flaws in a Product


Beta testing is not the same as usability testing. They are similar, but not the same. Usability testing is done in an environment when you are still trying to figure out the direction of your website or app. A usability test in that instance gives you some direction in which to head. When you are in beta testing, you should already have an idea of where your website or app is heading. All that should be left to do is finding bugs and making small tweaks to the design, if any. 

Usability (Testing Environment) vs Beta Testing (User's Own Environment)

Usability Testing Goals
Beta Testing Goals
Decide what platforms you are optimizing for
Users report issues that they have
Decide what works and does not work for your design
Very limited design changes
The test is done in a lab, so the person observing the test can observe where the user is having difficulty
Fix issues with broken code
Fix any design issues before writing any code
Test is done in the comfort of the user’s own environment
The tester is able to ask the subject about issues they had with the design

The tester is able to observe the body language of the subject



Beta Testing Cycle

As can be shown from the cycle above, the outcome for usability and beta testing are similar. The end goal of both test is to better the project. While usability testing focuses on the interaction with the product, beta testing focuses on coding problems. Beta testing is a highly recommended step in making websites and app making. Beta testing allows you to catch errors before your product is out in the open. The goal of beta testing is not to get rid of all the bugs in your code, that is not practical. What is practical though is flushing out as many bugs as you can.

If you are trying to do beta testing, here is a website that gives you some tips on how to conduct a beta test: Beta Testing Tips


Sources: 
  1. "Beta Testing." Web Development,web Designing and Internet Marketing Firm. N.p., n.d. Web. 21 Apr. 2014.
  2. Carter, Breck. "SQL Anywhere." : August 2011. N.p., 24 Aug. 2011. Web. 21 Apr. 2014.
  3. "Recording Usability Tests on the IPhone." :: Capstrat. N.p., n.d. Web. 21 Apr. 2014.
  4. Richmond, Nadyne. "Go Ahead, Mac My Day." Beta Testing vs Usability Testing. N.p., 5 Apr. 2010. Web. 21 Apr. 2014.
  5. Spolsky, Joel. "Joel on Software." Top Twelve Tips for Running a Beta Test -. N.p., 2 Mar. 2004. Web. 21 Apr. 2014.
  6. Thadani, Rahul. "How to Become a PS3 Game Tester." Buzzle. Buzzle.com, 15 Apr. 2011. Web. 21 Apr. 2014.

Friday, April 18, 2014

The Importance of Usability Testing

Designing with Paper Prototyping

Usability testing is the act of having a user interact with a prototype of a product before it goes into production. It allows testing of how a user interacts with an object before spending money on a demo. 


Type of usability testing:
  1. Paper Prototyping (we will focus on this one): Make a drawing of the website and allow the user to interact with it as though it were a functional website.
  2. Card-sorting: Allowing users to sort cards with a word or statement written on it. This is useful when a website has a lot of information and the designer wants to know what is more appealing for the end-user.
  3. Link Affordance Test: Print website in grayscale and let the tester color in the picture. 
  4. Heuristic Evaluation: Time how long it takes for a user to do a given task on a website. There are general guidelines for how long each task should take such as subscribing to the email newsletter of the website.


low fidelity paper prototype
Paper prototyping can be as simple as a pen and paper drawing.

high-fidelity paper prototype
Paper prototyping can be as complicating as a drawing done on Photoshop.

Paper prototyping is allowing a user to interact with a drawing of the website. The drawing could be something as simple as a pen and paper drawing or it could be more complex and be done on Adobe Photoshop or Illustrator. In either case, this usability test allows for the designer to observe how the tester interacts with the website and allows for fixes and redesigning. 

What are the benefits of usability testing:
  1. Lower costs
  2. To find out how long a user takes to do a task
  3. Find out flaws in your website and how people interact with your website
  4. Analyze the performance of your website
Now try running your own usability test for your website. Here's a video on how: Do Your First Usability Test.


Sources:
  1. Davies, Thomas. "UX Booth." Designing with Paper Prototyping -. N.p., 5 Aug. 2010. Web. 18 Apr. 2014.
  2. MacArthur, Amanda. "Different Types of Usability Tests for Website Design."Mequoda Daily RSS. N.p., 09 Jan. 2008. Web. 18 Apr. 2014.
  3. Mifsud, Justin. "Paper Prototyping As A Usability Testing Technique - Usability Geek." Usability Geek RSS. N.p., 23 July 2012. Web. 18 Apr. 2014.
  4. "Nielsen Norman Group." Paper Prototyping Training Video. N.p., n.d. Web. 18 Apr. 2014.
  5. "Usability Testing." Usability. N.p., n.d. Web. 18 Apr. 2014.

Wednesday, April 9, 2014

Blogs, Worth It or Not?

That is the question, to blog or not to?


Technical blogs are an invitation into a person’s mind. Although technical writing is not supposed to be opinionated, most readers can still get a sense of the blogger’s beliefs and views from what they have written. Having a blog gives employers an opportunity to see their applicants in a better light. Some people have a rough time being able to articulate their thoughts in an interview since there is a lot of pressure. Blogs give a person the opportunity to reveal to prospective employers who they are and what their beliefs are in a pressure free environment.


Blogs make you think and articulate your thoughts.

Along with the benefit of being pressure free, blogs give the writer an opportunity to freely express themselves. By doing a blog, the writer is better able to articulate their thoughts and they are better able to express themselves. During an interview, the hardest part is being able to think on the spot, but by doing blogs, the blogger is able to express them self since they have been articulating their ideas in words. By doing blogs, the blogger is able to form opinions on technological issues and they are better prepared for what possible questions can arise from their opinions. A person who does a blog is better informed than someone who does not since the person that does the blog has to have done research beforehand to have an opinion on the issue. Blogs are an important part of being able to better express yourself since it gives you a medium in which to talk about your beliefs and views. 

The many choices of blog websites available.



Advantages of having a blog:
  1. Show off your beliefs and views about technological issues 
  2. Articulate your thoughts in a stress-free environment 
  3. Writing about your opinions gives you a more fluid way to speak about your opinions 
  4. To write about a subject, you need to have done research about it. Research makes you more knowledgeable
  5. Gives you credibility if you do your blogs correctly

Get started with your own blog here: 
  1. http://wordpress.com/
  2. http://blogger.com

Sources:
  1. Becker, Joshua. "15 Reasons I Think You Should Blog." Becoming Minimalist. N.p., n.d. Web. 18 Apr. 2014.
  2. "Email Your Blog Articles." Convert Your Blog RSS to Email Newsletter with AWeber. N.p., n.d. Web. 18 Apr. 2014.
  3. Eridon, Corey. "The Benefits of Blogging: Why Businesses Do It, and You Should Too." The Benefits of Blogging: Why Businesses Do It, and You Should Too. N.p., 6 Nov. 2013. Web. 18 Apr. 2014.
  4. "You Are Being Thought: Don't Believe Everything You Think!" You Are Being Thought: Don't Believe Everything You Think! N.p., n.d. Web. 18 Apr. 2014.