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
-
Implement Fundamentals of Networking conceptsAssessment StrategiesExam, Skill Demonstration, and/or ProjectCriteriaDescribe Physical Transmission Media in OSI – compare various wired and wireless methodsCompare advantages and disadvantages of wired and wireless for various applicationsDescribe Multiplexing (compare Time Division Multiplexing and Frequency Division Multiplexing)Define modulation (AM, FM, QAM, ASK, FSK, PSK, OFDM)Explain line-codingDescribe signal processing function of a modemDescribe Frequency spectra and allocationAnalyze Spectra with logic analyzerDescribe Direct Sequence Spread Spectrum and Channel allocationAnalyze Bandwidth and Data-rates in wireless communicationAnalyze ISM Band and applicationsExplain IEEE 802.11 in context of WiFiDescribe the ZigBee protocol (2007 and revisions)Describe Bluetooth protocolSetup a peer to peer network with ZigBeeSetup Multicasting with ZigBeeDescribe ZigBee mesh network and highlight advantagesDescribe MIT app builder for simple mobile solutionsImplement a Bluetooth Low energy system (BLE) with Mobile device as central and Arduino based BLE as peripheral
-
Demonstrate Linux terminal commands for various network setup and troubleshootingAssessment StrategiesExam, Skill Demonstration, and/or ProjectCriteriaDemonstrate terminal commands in LinuxSetup a LAN with Linux machines using star networkDescribe Hubs, Switches, Gateways, Routers and other networking devicesDemonstrate networking tools in LinuxIntroduce various Linux toolsets for network analysis like ethereal (wireshark), nmap and other port scanning toolsAnalyze network headers and frames using WiresharkAnalyze a Ping packet from windows OS and linux (ICMP header)Analyze MAC (Ethernet) addresses in context of Ethernet framesSetup and Analyze TCP/IP and other network communication on a Linux networkAnalyze TCP handshake while create a connectionDescribe Network socketsDescribe network PortsSetup simple TCP/IP chat server in Linux (both server and clientparts) Programming in CAnalyze the client server communication using Wireshark and other tools for IP header and TCP headerDescribe Encryption and cryptography in communicationImplement Encryption in client-server communicationDescribe and understand network sockets (Sessions layer of OSI)Describe DNS servers and its functionAnalyze DNS resolution of hostname and analyze UDP vs TCP transport layer differences in this contextDescribe DHCP serverExplain Telnet/ SSH/ VNC and other Internet protocolsSetup Firewall in the context of Network TrafficSetup an Apache (TCP/IP) Webserver and host a simple webpageCompare the Webserver traffic to the various layers of the OSI modelDescribe SSL certificates in the context of HTTPS
-
Demonstrate practical networking and communication with embedded devices (Arduino and various stacks)Assessment StrategiesExam, Skill Demonstration, and/or ProjectCriteriaAnalyze serial communication with Arduino and various stacksImplement UART, SPI, I2C, USB and other Serial communication protocols in context of embedded devicesAnalyze serial data with logic analyzer with serial toolsetSetup and Analyze client server communication with an embedded Chat ServerDescribe A/D converters (Sampling and quantization)Compare 8-bit and 10 bit A/D converter for resolution and noiseConvert Digitized data to display Analog valuesImplement a TCP/IP embedded webserverImplement a TCP/IP embedded Chat serverImplement a TCP/IP embedded webserver
-
Demonstrate competency to interface and analyze with LabView MyRiO and Ethernet based devicesAssessment StrategiesExam, Skill Demonstration, and/or ProjectCriteriaInterface Analog and Digital signals with LabviewImplement TCP/IP client server system in LabviewUse TCP/IP client server setup in Labview with windows to communicate with linux terminal program to demonstrate network protocolsUse TCP/IP client in Labview to control embedded servers run on an Arduino platform to communicate to Digital and Analog I/OUse MyRio to demonstrate interfacing Digital I/O and Analog I/O and A/D conversion and serial communication
-
Demonstrate wireless networking (WiFi, Bluetooth, Zigbee)Assessment StrategiesExam, Skill Demonstration, and/or ProjectCriteriaDescribe Physical Transmission Media in OSICompare various wired and wireless methodsDescribe advantages and disadvantages of wired and wireless for various applicationsDescribe Multiplexing (compare Time Division Multiplexing and Frequency Division Multiplexing)Define modulation (AM, FM, QAM, ASK, FSK, PSK, OFDM)Describe line-codingDescribe signal processing function of a modemExplain Frequency spectra and allocationAnalyze Spectra with logic analyzerExplain Direct Sequence Spread Spectrum and Channel AllocationAnalyze Bandwidth and Data-rates in wireless communicationAnalyze ISM Band and applicationsDescribe IEEE 802.11 in context of WiFiDescribe the ZigBee protocol (2007 and revisions)Describe Bluetooth protocolSetup a peer to peer network with ZigBeeSetup Multicasting with ZigBeeExplain ZigBee mesh network and highlight advantagesDescribe MIT app builder for simple mobile solutionsImplement a Bluetooth Low energy system (BLE) with Mobile device as central and Arduino based BLE as peripheral