Computer Science XII Class

Programming and Computational Thinking - 2:

  • Revision of the basics of Python
  • Functions: scope, parameter passing, mutable/immutable properties of data objects, pass arrays to functions, return values, functions using libraries: mathematical, and string functions.
  • File handling: open and close a file, read, write, and append to a file, standard input, output, and error streams, relative and absolute paths.
  • Using Python libraries: create and import Python libraries
  • Recursion: simple algorithms with recursion: factorial, Fibonacci numbers; recursion on arrays: binary search
  • Idea of efficiency: performance defined as inversely proportional to the wall clock time, count the number of operations a piece of code is performing, and measure the time taken by a program. Example: take two different programs for the same problem, and understand how the efficient one takes less time.
  • Data visualization using Pyplot: line chart, pie chart, and bar chart.
  • Data-structures: lists, stacks, queues.

Computer Networks:

Structure of a network: Types of networks: local area and wide area (web and internet), new technologies such as cloud and IoT, public vs. private cloud, wired and wireless networks; concept of a client and server.

Network devices such as a NIC, switch, hub, router, and access point.

Network stack: amplitude and frequency modulation, collision in wireless networks, error checking, and the notion of a MAC address, main idea of routing. IP addresses: (v4 and v6), routing table, router, DNS, and web URLs, TCP: basic idea of retransmission, and rate modulation when there is congestion (analogy to a road network), Protocols: 2G, 3G, 4G, Wi-Fi. What makes a protocol have a higher bandwidth?

Basic network tools: traceroute, ping, ipconfig, nslookup, whois, speed-test.

Application layer: HTTP (basic idea), working of email, secure communication: encryption and certificates (HTTPS), network applications: remote desktop, remote login, HTTP, FTP, SCP, SSH, POP/IMAP, SMTP, VoIP, NFC.

Data Management (DM-2):

Write a minimal Django based web application that parses a GET and POST request, and writes the fields to a file - flat file and CSV file.

Interface Python with an SQL database

SQL commands: aggregation functions – having, group by, order by.


Society, Law and Ethics -2

Intellectual property rights, plagiarism, digital rights management, and licensing (Creative Commons, GPL and Apache), open source, open data, privacy.

Privacy laws, fraud; cyber-crime- phishing, illegal downloads, child pornography, scams; cyber forensics, IT Act, 2000.

Technology and society: understanding of societal issues and cultural changes induced by technology.

E-waste management: proper disposal of used electronic gadgets.

Identity theft, unique ids, and biometrics.

Gender and disability issues while teaching and using computers.