CYSE 250 – Basic Programming & Networking

Course Description
This course introduces students to the logic used to develop solutions to common problems in the
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 throughout the course. Topics include Introduction to Cybersecurity, Computer Network, program
logic, and file management

In this course, you are going to learn about basic concepts of programming in Python and networking.

Networking Part:
• Virtual environment
• Microsoft Windows Server
• Microsoft Visio
• Cisco Packet Tracer

Programming Part: Python (*.py) Language Editor
• Access to Text Editor: Python IDLE (Integrated Development and Learning Environment),
PyCharm, Visual Studio Code, Sublime Text, Atom, Emacs, etc.

Course Objectives and Expected Learning Outcomes
Objective 1: Understanding the basic concepts of Networking and its importance
Objective 1.1: Learn about the importance of networking in Cybersecurity
Objective 1.2: Learn about network components and topologies
Objective 1.3: Learn to design and draw network using Microsoft Visio


Objective 2: Types of networks and Network Model
Objective 2.1: Learn about types of networks – LAN, MAN, WAN, PAN, Wi-Fi, etc.
Objective 2.2: Network models – OSI, TCP/IP, etc.


Objective 3: TCP/IP model and its protocols
Objective 3.1: Compare and contrast the TCP/IP and the OSI reference model
Objective 3.2: Learn about different layers protocols and their uses
Objective 3.3: Learn about IP (Internet Protocol) addresses and their classification
Objective 3.4: Learn about the importance of subnetting


Objective 4: Simulation using Cisco Packet Tracer and Networking Commands
Objective 4.1: Introduction to Cisco Packet Tracer
Objective 4.2: Learn about live simulation using Cisco Packet Tracer, repeaters, hubs, switches,
bridge, router, and gateway.


Objective 5: Network administration on Windows 8 Server
Objective 5.1: Learn about servers and adding user roles as an Administrator
Objective 5.2: Learn to use Virtual Machine and install Windows 8 server


Objective 6: Network Security and Malware
Objective 6.1: Learn the role of Malware (Malicious Software) in Network Security
Objective 6.2: Learn about the families of malware


Objective 7: Introduction to Computer Systems, algorithm, and coding (Programming)
Objective 7.1: Learn about computer Systems and their components
Objective 7.2: Learn about the availability of different general-purpose programming languages
Objective 7.3: Learn about an approach to developing algorithms and their flow chart
Objective 7.4: Learn the importance of programming in Cybersecurity


Objective 8: Programming development environment, Python3, and IDE (Integrated
Development Environment)
Objective 8.1: Learn to install IDE and Python3
Objective 8.2: Learn to develop the first program in Python – syntax, data types, variables in Python
Objective 8.3: Learn about taking input, getting output, and typecasting.


Objective 9: Conditional Statements and logical operators
Objective 9.1: Learn about control flow in the script
Objective 9.2: Learn to apply if-else conditional statements for real-world problems.
Objective 9.2: Learn to apply logical and mathematical operators in if-else statements.

Objective 10: Loop statements
Objective 10.1: Learn to apply loop statements to real-world problems
Objective 10.2: Learn about finite (for loop) and infinite (while) loops
Objective 10.3: Learn to develop Python script using loop and conditional statements.


Objective 11: Python Data structures – Lists, Dictionary, and Tuple
Objective 11.1: Learn about Lists, methods, and applications
Objective 11.2: Learn about dictionaries, methods, and applications
Objective 11.3: Learn about tuples, methods, and applications


Objective 12: Developing functions for code reusability
Objective 12.1: Learn about functions to achieve repetitive tasks by creating functions in Python
Objective 12.2: Learn about function arguments
Objective 12.3: Learn about defining and calling a function


Objective 13: Introduction to file handling and Object-Oriented programming (OOP)
Objective 13.1: Learn to open, read, and write a text file
Objective 13.2: Develop an idea about object-oriented programming


Objective 14: Client-server architecture and socket programming
Objective 14.1: Learn about client-server architecture
Objective 14.2: Learn about socket programming
Objective 14.3: Learn to develop secure communication between client(s) and server in the network
using socket