Computer Science - Class XI

 Unit 1: Programming and Computational Thinking

  • 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.
Unit 2: 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.
Unit 3: Data Management
  • 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.
Unit 4: Society, Law and Ethics
  • 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.

Practical Excersizes -Programming in Python:
  • Recursively find the factorial of a natural number.
  • Read a file line by line and print it.
  • Remove all the lines that contain the character `a' in a file and write it to another file.
  • Write a Python function sin(x, n) to calculate the value of sin(x) using its Taylor series
  • expansion up to n terms. Compare the values of sin(x) for different values of n with the correct value.
  • Write a random number generator that generates random numbers between 1 and 6
  • (simulates a dice).
  • Write a recursive code to find the sum of all elements of a list.
  • Write a recursive code to compute the nth Fibonacci number.
  • Write a Python program to implement a stack and queue using a list data-structure.
  • Write a recursive Python program to test if a string is a palindrome or not.
  • Write a Python program to plot the function y = x using the pyplot or matplotlib libraries.
  • Create a graphical application that accepts user inputs, performs some operation on them, and then writes the output on the screen. For example, write a small calculator. Use the tkinter library.
  • Open a webpage using the urllib library.
  • Compute EMIs for a loan using the numpy or scipy libraries.
  • Take a sample of 10 phishing e-mails and find the most common words.
5.2. Data Management: SQL and web-server
  • Find the min, max, sum, and average of the marks in a student marks table.
  • Find the total number of customers from each country in the table (customer ID, customer name, country) using group by.
  • Write a SQL query to order the (student ID, marks) table in descending order of the marks.
  • Integrate SQL with Python by importing the MySQL module
  • Write a Django based web server to parse a user request (POST), and write it to a CSV file.

No comments:

Post a Comment