{"id":313,"date":"2024-01-27T22:39:35","date_gmt":"2024-01-27T22:39:35","guid":{"rendered":"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/?page_id=313"},"modified":"2024-02-04T18:11:01","modified_gmt":"2024-02-04T18:11:01","slug":"cyse-250-basic-cybersecurity-programming-networking","status":"publish","type":"page","link":"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/cyse-250-basic-cybersecurity-programming-networking\/","title":{"rendered":"CYSE 250"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Basic Cybersecurity Programming &amp; Networking<\/h2>\n\n\n\n<p><strong>This course introduces students to the logic used to develop solutions to common problems in the<br>computer science field using a contemporary high-level programming language, such as Python. These step-by-step detail solutions are called algorithms and serve as the basic solution in the area of Cybersecurity. Problem-solving, critical thinking, and programming techniques are emphasized<br>throughout the course. Topics include Introduction to Cybersecurity, Computer Network, program<br>logic, and file management.<\/strong><\/p>\n\n\n\n<p>Objective 1: Understanding the basic concepts of Networking and its importance<br>Objective 1.1: Learn about the importance of networking in Cybersecurity<br>Objective 1.2: Learn about network components and topologies<br>Objective 1.3: Learn to design and draw network using Microsoft Visio<br>Objective 2: Types of networks and Network Model<br>Objective 2.1: Learn about types of networks &#8211; LAN, MAN, WAN, PAN, Wi-Fi, etc. Objective<br>2.2: Network models \u2013 OSI, TCP\/IP, etc.<br>Objective 3: TCP\/IP model and its protocols<br>Objective 3.1: Compare and contrast the TCP\/IP and the OSI reference model Objective<br>3.2: Learn about different layers protocols and their uses<br>Objective 3.3: Learn about IP (Internet Protocol) addresses and their classification<br>Objective 3.4: Learn about the importance of subnetting<br>Objective 4: Simulation using Cisco Packet Tracer and Networking Commands<br>Objective 4.1: Introduction to Cisco Packet Tracer<br>Objective 4.2: Learn about live simulation using Cisco Packet Tracer, repeaters, hubs, switches, bridge,<br>router, and gateway.<br>Objective 5: Network administration on Windows 8 Server<br>Objective 5.1: Learn about servers and adding user roles as an Administrator<br>Objective 5.2: Learn to use Virtual Machine and install Windows 8 server<br>Objective 6: Network Security and Malware<br>Objective 6.1: Learn the role of Malware (Malicious Software) in Network Security<br>Objective 6.2: Learn about the families of malware<br>Objective 7: Introduction to Computer Systems, algorithm, and coding (Programming)<br>Objective 7.1: Learn about computer Systems and their components<br>Objective 7.2: Learn about the availability of different general-purpose programming languages<br>Objective 7.3: Learn about an approach to developing algorithms and their flow chart Objective<br>7.4: Learn the importance of programming in Cybersecurity<br>Objective 8: Programming development environment, Python3, and IDE (Integrated<br>Development Environment)<br>Objective 8.1: Learn to install IDE and Python3<br>Objective 8.2: Learn to develop the first program in Python &#8211; syntax, data types, variables in Python<br>Objective 8.3: Learn about taking input, getting output, and typecasting.<\/p>\n\n\n\n<p>Objective 9: Conditional Statements and logical operators<br>Objective 9.1: Learn about control flow in the script<br>Objective 9.2: Learn to apply if-else conditional statements for real-world problems.<br>Objective 9.2: Learn to apply logical and mathematical operators in if-else statements.<br>Objective 10: Loop statements<br>Objective 10.1: Learn to apply loop statements to real-world problems<br>Objective 10.2: Learn about finite (for loop) and infinite (while) loops<br>Objective 10.3: Learn to develop Python script using loop and conditional statements.<br>Objective 11: Python Data structures &#8211; Lists, Dictionary, and Tuple<br>Objective 11.1: Learn about Lists, methods, and applications<br>Objective 11.2: Learn about dictionaries, methods, and applications<br>Objective 11.3: Learn about tuples, methods, and applications<br>Objective 12: Developing functions for code reusability<br>Objective 12.1: Learn about functions to achieve repetitive tasks by creating functions in Python<br>Objective 12.2: Learn about function arguments<br>Objective 12.3: Learn about defining and calling a function<br>Objective 13: Introduction to file handling and Object-Oriented programming (OOP)<br>Objective 13.1: Learn to open, read, and write a text file<br>Objective 13.2: Develop an idea about object-oriented programming<br>Objective 14: Client-server architecture and socket programming<br>Objective 14.1: Learn about client-server architecture<br>Objective 14.2: Learn about socket programming<br>Objective 14.3: Learn to develop secure communication between client(s) and server in the network<br>using socket.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">COURSE MATERIAL<\/h2>\n\n\n\n<p>Python (*.py) Language Editor<br>\u2022 Access to Text Editor: Python IDLE (Integrated Development and Learning Environment),<br>PyCharm, Visual Studio Code, Sublime Text, Atom, Emacs, etc.<br>\u2022 Online editor: https:\/\/replit.com<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Assignments<\/h2>\n\n\n\n<p><strong>String Assignment<\/strong><\/p>\n\n\n\n<p><strong><em>Purpose: This assignment provides you with a deeper understanding and practical experience of<br>strings.<br>Requirements &amp; Submission:<br>1. The answers of this assignment must be submitted electronically on canvas.<br>2. Some answers require more details than just what we had discussed in lecture slides.<br>Question (1) (Total: 100 points)<br>Write a program to count the number of vowels and consonants in a given string.<br>Ex.: string =\u201cPython is fun\u201d<br>Consonants:8<br>Vowels: 3<br>NOTE: Do not use Python string count method<br>Question (2) (Total: 100 points)<br>Write a program to count the occurrence of a given character in a string?<br>Ex.: string=\u201cCoding is fun\u201d character=\u2019i\u2019<br>Count=2<br>NOTE: Do not use Python string count method<br>Question (3) (Total: 100 points)<br>Write a program to remove a given character from String?<br>Ex.: string=\u201cCoding is fun\u201d character=\u2019i\u2019<br>output=\u201cCodng s fun\u201d<br>Note: Do not use Python string replace method<br>Question (4) (Total: 100 points)<br>Given a string, create a new string without vowels and print that string.<br>Ex.: string=\u201cCoding is fun\u201d<br>Output=\u201dCdng s fn\u201d<br>Note: Do not use Python string replace method<\/em><\/strong><\/p>\n\n\n\n<p><em>Vowel Counter Python Program:<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"432\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image.png\" alt=\"\" class=\"wp-image-314\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image.png 1015w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-300x128.png 300w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-768x327.png 768w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-600x255.png 600w\" sizes=\"(max-width: 1015px) 100vw, 1015px\" \/><\/figure>\n\n\n\n<p><em>Character Counter Python Program:<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"809\" height=\"224\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-1.png\" alt=\"\" class=\"wp-image-315\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-1.png 809w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-1-300x83.png 300w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-1-768x213.png 768w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-1-600x166.png 600w\" sizes=\"(max-width: 809px) 100vw, 809px\" \/><\/figure>\n\n\n\n<p><em>Removing a character from a string Python Program:<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"746\" height=\"235\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-2.png\" alt=\"\" class=\"wp-image-316\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-2.png 746w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-2-300x95.png 300w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-2-600x189.png 600w\" sizes=\"(max-width: 746px) 100vw, 746px\" \/><\/figure>\n\n\n\n<p><em>Removing Vowels Python Program:<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"465\" height=\"207\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-3.png\" alt=\"\" class=\"wp-image-317\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-3.png 465w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-3-300x134.png 300w\" sizes=\"(max-width: 465px) 100vw, 465px\" \/><\/figure>\n\n\n\n<p><strong>If Statement Assignment<\/strong><\/p>\n\n\n\n<p><strong><em>Purpose: This assignment provides you with a deeper understanding and practical experience of<br>fundamental concepts of Python and conditional statements.<br>Requirements &amp; Submission:<br>1. The answers of this assignment must be submitted electronically on canvas.<br>2. The Python code must be submitted for all questions except Question 3.<br>3. Some answers require more details than just what we had discussed in lecture slides.<br>Question (1) (Total: 100 points)<br>Write a python script to find the greatest of two numbers<br>\u2022 Take Two numbers as input<br>\u2022 Use if -else condition to check the greatest of the two numbers<br>\u2022 Print the greatest number.<br>You need to submit the *.py file.<br>Question (2)<br>(a) (100 points) Nancy teaches a science class, and her students are required to take three tests.<br>She wants to write a program that her students can use to calculate their average test score.<br>She also wants the program to congratulate the student enthusiastically if the average is<br>greater than 95.<br>Here is the algorithm in pseudocode:<br>Get the first test score<br>Get the second test score<br>Get the third test score Calculate the average<br>Display the average<br>If the average is greater than 95: Congratulate<br>the user<br>Write a python program for the above pseudocode.<br>(b) (100 points) Chris owns an auto repair business and has several employees. If any<br>employee works over 40 hours a week, he pays them 1.5 times their regular hourly pay<br>rates for all hours over 40. He has asked you to design a simple payroll program that<br>calculates an employee\u2019s gross pay, including any overtime wages.<\/em><\/strong><\/p>\n\n\n\n<p>Greatest Number Python Program<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"650\" height=\"212\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-5.png\" alt=\"\" class=\"wp-image-319\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-5.png 650w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-5-300x98.png 300w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-5-600x196.png 600w\" sizes=\"(max-width: 650px) 100vw, 650px\" \/><\/figure>\n\n\n\n<p>Gross Pay Python Program<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"710\" height=\"219\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-6.png\" alt=\"\" class=\"wp-image-320\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-6.png 710w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-6-300x93.png 300w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-6-600x185.png 600w\" sizes=\"(max-width: 710px) 100vw, 710px\" \/><\/figure>\n\n\n\n<p>Test Scores Python Program<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"588\" height=\"160\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-7.png\" alt=\"\" class=\"wp-image-321\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-7.png 588w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-7-300x82.png 300w\" sizes=\"(max-width: 588px) 100vw, 588px\" \/><\/figure>\n\n\n\n<p>Loan Approval Python Program<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"492\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-8.png\" alt=\"\" class=\"wp-image-322\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-8.png 969w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-8-300x152.png 300w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-8-768x390.png 768w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-8-591x300.png 591w\" sizes=\"(max-width: 969px) 100vw, 969px\" \/><\/figure>\n\n\n\n<p><strong>For Loop Assignment<\/strong><\/p>\n\n\n\n<p><strong><em>Purpose: This assignment provides you with a deeper understanding and practical experience of<br>fundamental concepts of Python and conditional statements.<br>Requirements &amp; Submission:<br>1. The answers of this assignment must be submitted electronically on canvas.<br>2. Some answers require more details than just what we had discussed in lecture slides.<br>Question (1) (Total: 100 points)<br>Write a program in python to read integer n and then find the sum of the series [x<br>&#8211; x^3 + x^5 + &#8230;&#8230;].<br>Question (2) (Total: 100 points)<br>Write a program in python to read 10 numbers from the keyboard and find their<br>sum and average.<br>Question (3) (Total: 100 points)<br>Write a program in python to read integer n and then display the multiplication table<br>for the given integer.<br>Question (4) (Total: 100 points)<br>Write a program in python to read n integer and then display the n terms of a<br>harmonic series and their sum.<br>1 + 1\/2 + 1\/3 + 1\/4 + 1\/5 &#8230; 1\/n terms<\/em><\/strong><\/p>\n\n\n\n<p>Question 1 Python Program:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"796\" height=\"538\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-9.png\" alt=\"\" class=\"wp-image-323\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-9.png 796w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-9-300x203.png 300w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-9-768x519.png 768w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-9-444x300.png 444w\" sizes=\"(max-width: 796px) 100vw, 796px\" \/><\/figure>\n\n\n\n<p>Question 2 Python Program:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"710\" height=\"220\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-10.png\" alt=\"\" class=\"wp-image-324\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-10.png 710w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-10-300x93.png 300w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-10-600x186.png 600w\" sizes=\"(max-width: 710px) 100vw, 710px\" \/><\/figure>\n\n\n\n<p>Question 3 Python Program:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"577\" height=\"228\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-11.png\" alt=\"\" class=\"wp-image-325\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-11.png 577w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-11-300x119.png 300w\" sizes=\"(max-width: 577px) 100vw, 577px\" \/><\/figure>\n\n\n\n<p>Question 4 Python Program:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"388\" height=\"215\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-12.png\" alt=\"\" class=\"wp-image-326\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-12.png 388w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-12-300x166.png 300w\" sizes=\"(max-width: 388px) 100vw, 388px\" \/><\/figure>\n\n\n\n<p><strong>Files Assignment<\/strong><\/p>\n\n\n\n<p><strong><em>Purpose: This assignment provides you with a deeper understanding and practical experience of Files.<br>Requirements &amp; Submission:<br>1. The answers of this assignment must be submitted electronically on canvas.<br>2. Some answers require more details than just what we had discussed in lecture slides.<br>Question (1) (Total: 100 points)<br>Write a program to copy a file into another file duplicating each line.<br>Ex.:<br>input File:<br>Python is fun.<br>I like programming.<br>Output File:<br>Python is fun.<br>Python is fun.<br>I like programming.<br>I like programming.<br>Question (2) (Total: 100 points)<br>Write a program to read in a file containing numbers. Each line is composed of only one single number.<br>You should create an output file containing the square of each number from the first file.<br>Ex.:<br>input File:<br>1<br>5<br>2<br>4<br>Output File:<br>1<br>25<br>4<br>16<\/em><\/strong><\/p>\n\n\n\n<p><strong><em>Question (3) (Total: 100 points)<br>Write a program to read in two files. The first file contains the first name of a set of students. The<br>second file contains the last name of a set of students. Create a third file containing the full names of the<br>students.<br>Input Files: First Names and Last Names<br>First Names:<br>Jade<br>Chandler<br>Andy<br>Maggie<br>Last Names:<br>Moore<br>Anderson<br>Boateng<br>Bowles<br>Output File: Full Names<br>Full Names:<br>Jade Moore<br>Chandler Anderson<br>Andy Boateng<br>Maggie Bowles<br>Question (4) (Total: 100 points)<br>Write a program to read in the grades of three Cybersecurity courses (CYSE 250 CYSE 270 CYSE 200T)<br>of a set of students. Grades are separated by a space. Each line represents a student. Calculate the mean<br>grade of every student and write it into an output file.<br>Input File:<br>60 70 80<br>70 80 90<br>40 50 60<br>Output File:<br>70<br>80<br>50<\/em><\/strong><\/p>\n\n\n\n<p>Copy Files Python Program<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"367\" height=\"185\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-13.png\" alt=\"\" class=\"wp-image-327\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-13.png 367w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-13-300x151.png 300w\" sizes=\"(max-width: 367px) 100vw, 367px\" \/><\/figure>\n\n\n\n<p>Square File Python Program<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"399\" height=\"240\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-14.png\" alt=\"\" class=\"wp-image-328\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-14.png 399w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-14-300x180.png 300w\" sizes=\"(max-width: 399px) 100vw, 399px\" \/><\/figure>\n\n\n\n<p>Full Names Python Program<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"479\" height=\"224\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-15.png\" alt=\"\" class=\"wp-image-329\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-15.png 479w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-15-300x140.png 300w\" sizes=\"(max-width: 479px) 100vw, 479px\" \/><\/figure>\n\n\n\n<p>Test Averages Python Program<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"594\" height=\"443\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-16.png\" alt=\"\" class=\"wp-image-330\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-16.png 594w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-16-300x224.png 300w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-16-402x300.png 402w\" sizes=\"(max-width: 594px) 100vw, 594px\" \/><\/figure>\n\n\n\n<p><strong>Final Project<\/strong><\/p>\n\n\n\n<p><strong><em>Learning Objective: The group project will provide you with the opportunity to demonstrate<br>your understanding of the applied aspect of Python and socket programming in your<br>concentration.<br>1. The group project will be related to the contents of this course. A group of maximum two<br>students will develop and design their own project.<br>2. The group should find a related topic to socket programming.<br>3. To design the visual representation, you may choose general-purpose programming language<br>Python.<br>4. You need to present your work during the lecture time<br>5. You need to write and submit a project report (Maximum five-page, Font: Helvetica, Font<br>size: 12, single line inter-line spacing, page-setup: 1 inch all sides, excluding front page).<br>The report must include following sections:<br>\u2022 The problem statements.<br>\u2022 The details about the hardware (your machine) and software (include version) used in the<br>project.<br>\u2022 Software used to implement the project<br>\u2022 The results (Include screen shot of code and output) and discussions.<br>5. The internal documentation (i.e., comments) is required. You need to include Python code in<br>your project report as an appendix. However, the appendix will not be counted in the number of<br>pages of \u201cProject Report\u201d. It implies that appendix will have additional number of pages in the<br>project report. Additionally, there is no restriction of number of pages for the appendix.<br>6. Your code MUST include the following:<br>\uf0b7 Loops<br>\uf0b7 Functions<br>\uf0b7 Lists and Dictionaries<br>\uf0b7 Socket Programming<br>7. You must submit your report, presentation and code on Canvas.<\/em><\/strong><\/p>\n\n\n\n<p>Chore Incentive Project<\/p>\n\n\n\n<p><em>For the full report with screenshots download the full file at the bottom of this text.<\/em><\/p>\n\n\n<p><span style=\"font-weight: 400\">Chore Incentive Python Project<\/span><\/p>\n<p><span style=\"font-weight: 400\">CYSE 250<\/span><\/p>\n<p><span style=\"font-weight: 400\">Instructor<\/span><\/p>\n<p><span style=\"font-weight: 400\">Hind AlDabagh<\/span><\/p>\n<p><span style=\"font-weight: 400\">By Adam Haas<\/span><\/p>\n<p><span style=\"font-weight: 400\">This program is an interactive game built to help incentivise my two children, 9 years old and 5 years old, to complete various chores each week without being asked. It will track their progress and offer a reward once enough chores have been completed. This python program project has been created\u00a0 and written with Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz \u00a0 3.40 GHz and is operating on the Windows 10 Pro operating system, using Python Version 3.11. This project is to demonstrate knowledge of Python code using loops, functions, lists, dictionaries, and socket programing. This program uses a server that runs in the background managing the score levels and prize winnings of the users. The client program will be the program that is used for interface and inputting chore completion and offering rewards when goals are reached. The server and client programs will regularly communicate for recording work completed, prize awards, and total scores.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">This project is structured to help our family by encouraging self-motivation to earn future rewards. The way works is the children will enter their name that will coincide with a txt file that will record and track their scores. The program will update and record to the text file as chores are manually logged into the client program as seen in Figure 1.1 and then sent to the server program in Figure 1.2.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">The chore options are set up together with the prize options in a list named Choices. The program differentiates between chores and prizes based on their value, choices are a positive number, while prizes are negative numbers. The choices can be observed in Figure 1.3.<\/span><\/p>\n<p><span style=\"font-weight: 400\">The program will read from each childs text file to know whether they have enough points for a prize. If enough points are available for a prize they will be prompted to pick one, otherwise they will be prompted to keep doing chores. This can be observed on the client\u2019s terminal in Figure 1.4.<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0This selection and check can be observed through this if, else statement and for loops in Figure 1.5. This will display on the client computer when users log on to see what options they have for entry.<\/span><\/p>\n<p><span style=\"font-weight: 400\">If the user memorizes the name of the prizes a check is in place to prevent them from selecting a prize before they have enough points as seen in Figure 1.5. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Once the user responds to the server that a chore was completed. It will disconnect and be ready to be relaunched for more chore submissions. This program has a function created for it that automatically combines the earned points with previously awarded points called getTotalpoints as seen in Figure 1.6\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Once the predetermined goal value is reached by a user. A message will print on the client computer. \u201cGreat job you have earned enough points for a prize. Please log back in to select a prize.The code for this can be observed in Figure 1.7 and the terminal display once the user logs back in can be viewed in Figure 1.8. <\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0Each user will have a text file labeled with their name to track their progress and hold this information for future access and record. This can be seen in Figure 1.9 where the user Huck has completed a variety of chores and has selected a prize.<\/span><\/p>\n<p><span style=\"font-weight: 400\">A separate text file is used to hold all prize data so the administrator isn\u2019t challenged by reading through all completed work and prizes to find out what rewards need to be paid out. This can be observed in Figure 1.10.<\/span><\/p>\n<p><span style=\"font-weight: 400\">This program uses a variety of Python coding techniques like loops, functions, lists, dictionaries, and socket programming to demonstrate my coding knowledge and understanding. The problem solved with this program creates a solution to a challenge that our family regularly faces by helping provide motivation for completion of chores by our children. It does this by requiring their self motivated work and receiving rewards..<\/span><\/p>\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-86139bc2-18d5-45d0-9ba5-99131a20e41f\" href=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/Chore-Incentive-Python-Project-1.docx\">Chore-Incentive-Python-Project-1<\/a><a href=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/Chore-Incentive-Python-Project-1.docx\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-86139bc2-18d5-45d0-9ba5-99131a20e41f\">Download<\/a><\/div>\n\n\n\n<p>Chore Incentive Server<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"613\" height=\"791\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-17.png\" alt=\"\" class=\"wp-image-332\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-17.png 613w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-17-232x300.png 232w\" sizes=\"(max-width: 613px) 100vw, 613px\" \/><\/figure>\n\n\n\n<p>Chore Incentive Client<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"721\" height=\"608\" src=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-18.png\" alt=\"\" class=\"wp-image-333\" srcset=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-18.png 721w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-18-300x253.png 300w, https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-content\/uploads\/sites\/35536\/2024\/01\/image-18-356x300.png 356w\" sizes=\"(max-width: 721px) 100vw, 721px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Basic Cybersecurity Programming &amp; Networking This course introduces students to the logic used to develop solutions to common problems in thecomputer science field using a contemporary high-level programming language, such as Python. These step-by-step detail solutions are called algorithms and serve as the basic solution in the area of Cybersecurity. Problem-solving, critical thinking, and programming&#8230; <\/p>\n<div class=\"link-more\"><a href=\"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/cyse-250-basic-cybersecurity-programming-networking\/\">Read More<\/a><\/div>\n","protected":false},"author":28481,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-json\/wp\/v2\/pages\/313"}],"collection":[{"href":"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-json\/wp\/v2\/users\/28481"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-json\/wp\/v2\/comments?post=313"}],"version-history":[{"count":5,"href":"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-json\/wp\/v2\/pages\/313\/revisions"}],"predecessor-version":[{"id":383,"href":"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-json\/wp\/v2\/pages\/313\/revisions\/383"}],"wp:attachment":[{"href":"https:\/\/sites.wp.odu.edu\/adamchristopherhaas\/wp-json\/wp\/v2\/media?parent=313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}