CS6103D
Software Systems Lab
Monsoon 2021
Introduction to the course
CSED, NIT Calicut
27.09.2021
Course
Code: CS6103D
Name: Software Systems Lab
Credits: 4
No. of Hours: 13T + 78 P
Slots: P, T - Mondays and Fridays 2 pm - 5 pm
Instructors
Faculty :
Athira, Jithin Mathews, Lashma, Lijiya, Saleena
PhD Scholars:
Anjusha, Jasila, Reshma
M.Tech TAs:
Gireesh Kumar, Kundan Kumar, Sudevan
Course Outcomes
CO1: Apply scripting tools and programming languages for software development.
CO2:Use documentation tools for preparing documents, articles and
presentations.
CO3: Design and build web based solutions using software engineering concepts.
Laboratory (78 Hours)
● Programming and Data Structures - Review (12 Hours)
● Web Development - Using web programming tools / framework. (24 Hours)
● Software development tools in the Linux Environment (12 Hours)
● Scripting languages - Text Processing (18 Hours)
● Documentation and Plotting (12 Hours)
Theory (13 Hours)
● Programming languages / tools - Java, C++, GUI tools
● Web programming tools, Development Frameworks (Ruby on Rails, Django).
● Tools for good software development process - Make/gmake, source code
control systems (e.g. git), debuggers (e.g. gdb) and memory allocation
debuggers. Integrated Development Environments (e.g. eclipse).
● Scripting languages (e.g. Python, Perl).
● Tools for text processing (e.g. AWK, Python, Lex, Yacc).
● Document creation tools (e.g. Latex), plotting tools (e.g. gnuplot, Excel,
pstricks).
References
1. L. Wall, T. Christiansen and R. L. Schwartz, Programming Perl, 3/e, O'Reilly Media,2000.
2. S. Guelich, S. Gundavaram and G. Birznieks, CGI Programming with Perl, O'Reilly
Media, Third Edition, June 2000.
3. M. Summerfield, Programming in Python 3, 2/e, Addison Wesley Professional, November
2009.
4. M. Summerfield, Rapid GUI Programming with Python and Qt, Prentice Hall, 2009.
5. M. Hart. Ruby on Rails Tutorial, Available online at https://www.railstutorial.org/book last
accessed 12/4/2018.
References contd.
6. Wikibook Contributors LaTeX, Wikibooks, available at
https://upload.wikimedia.org/wikipedia/commons/2/2d/LaTeX.pdf last accessed 12/4/2018
7. J. Levine, flex & bison, O'Reilly Media, 1/e, 2009.
8. B. Eckel, Thinking in Java, 3/e, Prentice Hall, 2002, Available online at www.bruceeckel.com
last accessed 28/3/2010.
9. B. Eckel, Thinking in C++, 2/e, Vol. 1 and Vol. 2, Prentice Hall. 2003, Available
online at www.bruceeckel.com last accessed 28/3/2010.
Lab: Topics
● Programming and Data Structures - Review
● Software Project - Web Development - Using web programming tools /
framework.
● Software development tools in the Linux Environment
● Scripting languages - Text Processing
● Documentation and Plotting
● Lectures
Programming and Data Structures
4 weeks X 2 = 8 lab sessions
3 programming assignments - 3 Nos. ( problem sets will be given)
Lab 1 (today) - introduction
Lab 2, 4, 6 - Practice Sessions
Lab 3, 5, 7 - Evaluations ( Marks : 6 + 6 + 8)
Lab 8 - Test (10 marks)
Programming and Data Structures
Practice Session
● Lecture
● Solve the assignment questions
● Instructors available for clarifications
Programming and Data Structures
Evaluation Session
● Problem based on the assignment questions
● Design a solution (pseudocode algorithm)
● Coding - from scratch / modifying the submitted code
● Demo - run the test cases / viva-voce
Programming and Data Structures
Assignment 1 - arrays of struct, list of pointers ….
● Practice - Lab #2 (Friday)
● Submission - before Lab #3 (Deadline: Sunday, before 11.55 pm)
● Evaluation - Lab #3 (Monday)
Programming and Data Structures
Assignment 2, 3
● Practice
● Submission
● Evaluation
Test
Programming and Data Structures
Marks
● Assignment Evaluations - 6 + 6 +8
● Test - 10
Programming and Data Structures
Platform : Linux, C language
Learn: IDE (Integrated Development Environment) like Eclipse, gdb, make etc.
Programming and Data Structures
Submissions
● Through the submission link in eduserver course page
● Naming Conventions must be followed
● Plagiarism checks
● Automated tools may be used for evaluating the submissions
● Submitted code should be executable in a linux machine