10605178Networks, Interfacing and Programming
Course Information
Description
This advance course focuses on networking fundamentals and implementation with an emphasis on Linux. Explores Network layers and Protocols, LabView and FPGA Programming, wireless standards, and Hardware Configuration and programming of various Ethernet connected devices (computers, microcontrollers, remote sensors, control equipment and other hardware).
Total Credits
3

Course Competencies
  1. Implement Fundamentals of Networking concepts
    Assessment Strategies
    Exam, Skill Demonstration, and/or Project
    Criteria
    Describe Physical Transmission Media in OSI – compare various wired and wireless methods
    Compare advantages and disadvantages of wired and wireless for various applications
    Describe Multiplexing (compare Time Division Multiplexing and Frequency Division Multiplexing)
    Define modulation (AM, FM, QAM, ASK, FSK, PSK, OFDM)
    Explain line-coding
    Describe signal processing function of a modem
    Describe Frequency spectra and allocation
    Analyze Spectra with logic analyzer
    Describe Direct Sequence Spread Spectrum and Channel allocation
    Analyze Bandwidth and Data-rates in wireless communication
    Analyze ISM Band and applications
    Explain IEEE 802.11 in context of WiFi
    Describe the ZigBee protocol (2007 and revisions)
    Describe Bluetooth protocol
    Setup a peer to peer network with ZigBee
    Setup Multicasting with ZigBee
    Describe ZigBee mesh network and highlight advantages
    Describe MIT app builder for simple mobile solutions
    Implement a Bluetooth Low energy system (BLE) with Mobile device as central and Arduino based BLE as peripheral

  2. Demonstrate Linux terminal commands for various network setup and troubleshooting
    Assessment Strategies
    Exam, Skill Demonstration, and/or Project
    Criteria
    Demonstrate terminal commands in Linux
    Setup a LAN with Linux machines using star network
    Describe Hubs, Switches, Gateways, Routers and other networking devices
    Demonstrate networking tools in Linux
    Introduce various Linux toolsets for network analysis like ethereal (wireshark), nmap and other port scanning tools
    Analyze network headers and frames using Wireshark
    Analyze a Ping packet from windows OS and linux (ICMP header)
    Analyze MAC (Ethernet) addresses in context of Ethernet frames
    Setup and Analyze TCP/IP and other network communication on a Linux network
    Analyze TCP handshake while create a connection
    Describe Network sockets
    Describe network Ports
    Setup simple TCP/IP chat server in Linux (both server and clientparts) Programming in C
    Analyze the client server communication using Wireshark and other tools for IP header and TCP header
    Describe Encryption and cryptography in communication
    Implement Encryption in client-server communication
    Describe and understand network sockets (Sessions layer of OSI)
    Describe DNS servers and its function
    Analyze DNS resolution of hostname and analyze UDP vs TCP transport layer differences in this context
    Describe DHCP server
    Explain Telnet/ SSH/ VNC and other Internet protocols
    Setup Firewall in the context of Network Traffic
    Setup an Apache (TCP/IP) Webserver and host a simple webpage
    Compare the Webserver traffic to the various layers of the OSI model
    Describe SSL certificates in the context of HTTPS

  3. Demonstrate practical networking and communication with embedded devices (Arduino and various stacks)
    Assessment Strategies
    Exam, Skill Demonstration, and/or Project
    Criteria
    Analyze serial communication with Arduino and various stacks
    Implement UART, SPI, I2C, USB and other Serial communication protocols in context of embedded devices
    Analyze serial data with logic analyzer with serial toolset
    Setup and Analyze client server communication with an embedded Chat Server
    Describe A/D converters (Sampling and quantization)
    Compare 8-bit and 10 bit A/D converter for resolution and noise
    Convert Digitized data to display Analog values
    Implement a TCP/IP embedded webserver
    Implement a TCP/IP embedded Chat server
    Implement a TCP/IP embedded webserver

  4. Demonstrate competency to interface and analyze with LabView MyRiO and Ethernet based devices
    Assessment Strategies
    Exam, Skill Demonstration, and/or Project
    Criteria
    Interface Analog and Digital signals with Labview
    Implement TCP/IP client server system in Labview
    Use TCP/IP client server setup in Labview with windows to communicate with linux terminal program to demonstrate network protocols
    Use TCP/IP client in Labview to control embedded servers run on an Arduino platform to communicate to Digital and Analog I/O
    Use MyRio to demonstrate interfacing Digital I/O and Analog I/O and A/D conversion and serial communication

  5. Demonstrate wireless networking (WiFi, Bluetooth, Zigbee)
    Assessment Strategies
    Exam, Skill Demonstration, and/or Project
    Criteria
    Describe Physical Transmission Media in OSI
    Compare various wired and wireless methods
    Describe advantages and disadvantages of wired and wireless for various applications
    Describe Multiplexing (compare Time Division Multiplexing and Frequency Division Multiplexing)
    Define modulation (AM, FM, QAM, ASK, FSK, PSK, OFDM)
    Describe line-coding
    Describe signal processing function of a modem
    Explain Frequency spectra and allocation
    Analyze Spectra with logic analyzer
    Explain Direct Sequence Spread Spectrum and Channel Allocation
    Analyze Bandwidth and Data-rates in wireless communication
    Analyze ISM Band and applications
    Describe IEEE 802.11 in context of WiFi
    Describe the ZigBee protocol (2007 and revisions)
    Describe Bluetooth protocol
    Setup a peer to peer network with ZigBee
    Setup Multicasting with ZigBee
    Explain ZigBee mesh network and highlight advantages
    Describe MIT app builder for simple mobile solutions
    Implement a Bluetooth Low energy system (BLE) with Mobile device as central and Arduino based BLE as peripheral