Computer Science Workshop Syllabus S1&S2 2015-16

Course No.
Course Name
Year of Introduction
Course Objectives
1.           To familiarize students with basic hardware and software tools
2.           To implement algorithms studied in the course Introduction to Computing & Problem Solving.
3.           To learn the implementation of control structures, Iterations and recursive functions, Lists, Tuples and Dictionaries.
4.           To implement operations of files.  
5.           To implement a small micro project using Python  
List of Exercises / Experiments (Minimum of 8 mandatory)  List of Exercises:
Introduction: Familiarization of hardware components of a desktop computer (motherboard, cards, memory, slots, power, cables etc.)  Familiarization of Operating systems and various tools, particularly those for scientific computing, open source tools etc.
Programming exercises in Python based on the course Introduction To Computing and Problem
Solving (BE 101-05). The exercises may include  programs using the  following concepts–
1.    Decision making, branching and looping
1.         Variables , Expressions & Conditional  statements
2.         Iteration statements (While , For etc.)
2.    Function & Function calls 
1.         Function calls, Math functions
2.         Parameters and arguments 
3.         Adding new functions, Recursion
3.    Strings
1.         String traversal
2.         String searching, Comparison
3.         Other important String methods
4.    Lists, Tuples and Dictionaries
1.         Traversing List, List Operations
2.         Creation of Dictionary and Operations
3.         Lists and Tuples
5.                  Files and Operations
1.         Files - defining, opening/closing, operations
2.         Pickling 
6.                  Micro Project: Students are expected to do a micro project by using Python, preferably related to the Web
Expected outcome
1.         Students are able to identify common hardware components and their purpose
2.         Students gain sufficient awareness about latest software tools.
3.         Students are able to develop programs in Python for common problems of reasonable complexity.