Introduction/Introduction.rst
author Puneeth Chaganti <punchagan@fossee.in>
Tue, 31 Aug 2010 18:49:43 +0530
changeset 104 828c65311bdf
parent 75 8a962d946df7
permissions -rw-r--r--
Updated handout.

Introduction to the Course
==========================

Engineering students use computers for a large number of curricular
tasks – mostly computation centred. However, they do not see this as coding or programming tasks and usually are not even aware of the tools and
techniques that will help them to handle these tasks better. This results
in less than optimal use of their time and resources. This also causes
difficulties when it comes tocollaboration and building on other people’s
work. This course is intended to train such students in good software
practices and tools for producing code and documentation.

After successfully completing the program, the participants will be able to:

- understand how software tools work together and how they can be used in tandem to carry out tasks,        
                             
- use unix command line tools to carry out common (mostly text processing tasks,
                                                            
- to generate professional documents,                                

- use version control effectively – for both code and documents,       

- automate tasks by writing shell scripts and python scripts,        

- realise the impact of coding style and readbility on quality,      

- write mid-sized programs that carry out typical engineering / numerical computations such as those that involve (basic) manipulation of large arrays in an efficient manner,                                      

- generate 2D and simple 3D plots,                                   

- debug programs using a standardised approach,

- understand the importance of tests and the philosophy of Test Driven Development,

- write unit tests and improve the quality of code.