Indian Computer Science (CS) & Information Technology (IT) Academic Reform (Past) Activism Blog Book by Ravi S. Iyer - HTML preview

PLEASE NOTE: This is an HTML preview only and some elements such as links or page numbers may be incorrect.
Download the book in PDF, ePub, Kindle for a complete version.

Appendix A: My software field biodata, software industry work experience and lab. courses I taught

 

Software Field Biodata of Ravi S. Iyer

Last Updated On: 23rd Feb. 2020

Current Role

No longer involved in software development or teaching related work except for converting software related past blogs into (blog)books.

Experience

18 years in software development industry (in U.S., Europe, Far East Asia and India) playing roles right from programmer, designer, project manager, software development manager to finally a software consultant role. Have also been a trainer teaching programming & design in industry; Retired from commercial work in Aug. 2002.

Subsequently, as free Seva (free service), for around 9 years, have taught programming (lab) courses in a deemed University in India at M.Tech. (CS) and M.Sc. (Maths & CS) level and been a technical and programming consultant for M.Tech. (CS) projects and M.Sc. (Maths & CS) dissertation computer projects.

Mainly from 2011 to 2014, have worked on three software related blogs:

  • Peaceful and amicable, Indian Computer Science (CS) & Information Technology (IT) academic reform activism: http://eklavyasai.blogspot.com/p/table-of-contents.html (short link: http://bit.ly/eklavya-toc ).
  • Ravi S. Iyer's Software Lab. Courses: https://raviiyerteaches.wordpress.com/ (short link: http://bit.ly/ri-teaches ). It has the content of software lab. courses taught by me while offering free service with designation of Honorary Staff/Honorary Faculty/Visiting Faculty to a Mathematics & Computer Science department in a deemed university in Andhra Pradesh, India, from 2003 to 2011.
  • "Service to Society" Free and Open Source IT software development especially aimed at rural Indian society: http://raviiyer.org (mapped to https://ravisiyer.wordpress.com/ ). This work did not really take off due to lack of volunteers. However, it has some free software licensing (FOSS Licensing) related posts which may be useful to some readers. Now I use the blog to record user-level tech. matters (e.g. Mobile Internet speeds in Puttaparthi where I now live).

Technical Areas worked on while in Software Industry

Architecture, Design, Coding and/or teaching/mentoring roles in/using:

  • Web technologies using C#/ASP.Net and Java 2 Enterprise Ed.
  • OOAD incl. Design Patterns and UML
  • GUI Design
  • TCP/IP socket prog, VoIP MS API
  • SMTP gateway, X.400, X.500, Sendmail
  • Banyan Vines Network OS, RPC
  • Videotex
  • IIS & Netscape web server API
  • Web Services (SOAP)
  • Document Imaging Indexing systems
  • C/C++, STL, Visual C++/MFC, Visual Basic, Oracle, Sql Server, Informix, PowerBuilder,
  • SQLWindows, X-Windows API, Wang VS Assembler, COBOL
  • Microsoft Windows, Unix/Linux/Solaris and Wang VS operating systems.
  • Misc: ATL/COM, Multi-threading, XML, Windows Hooks

Academic Teaching Experience Details

Have taught (and introduced most of) the following (lab.) courses at M.Tech., M.Sc. & B.Sc. levels in a Mathematics & Computer Science department of a deemed university in Andhra Pradesh, India:

  • Open Source Web Technology (As applied to a free school educational web portal)
  • Advanced Unix Programming
  • Network Programming (TCP/IP Sockets)
  • Multi-Threaded Programming
  • Minix/Linux Kernal Internals
  • C++ Programming
  • C Programming
  • Java Web Programming
  • C# & ASP.Net Web Programming
  • VC++/MFC/Windows Programming

Technical & Programming Consultancy in Academia

Was technical and programming consultant for M.Tech. (CS) projects in the following technical areas:

  • Ontology for Indian school education
  • Re-engineering & Object Oriented Analysis & Design (OOAD)
  • Web Services Security & Security of Coalition of Web Services
  • File systems in Linux/Minix
  • VC++ programming, detecting & debugging memory leaks

Was technical and programming consultant for M.Sc. (Maths & CS) Dissertation computer projects involving the following technical & functional areas.

Technical areas:

  • ASP.Net Web programming
  • Database design and programming
  • Graphical User Interface (GUI) design

Functional areas:

  • E-learning of conversational English from Telugu & vice-versa.
  • Agricultural Portal
  • Department research publications database
  • Hostel Railway Reservation

 

Academic Publication Record

Have published the following academic papers as a co-author:

  1. A.Sateesh, R.Iyer, G.V.Prabhakar Rao, S.Kapoor and R.Mukkamala, "SPN: A Web Services Security Policy Negotiator", International Conference on Web Engineering and Applications (ICWA), Bhubaneswar, pp 137-148, December 2007.
  2. S.Sampath, R.Iyer, K.S.Sridharan, R.Mukkamala and S.Kapoor, "Secure Web-based Sharing of Health Information Services Using Ad-hoc Dynamic Coalitions", International Conference on Information Technology : New Generations (ITNG), Las Vegas, pp 297-302, April 2008. http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4492495.
  3. S.Sampath, R.Iyer, K.S.Sridharan, R.Mukkamala, S.Kapoor, "Coalition Service Registry for Ad-hoc Dynamic Coalitions", Enterprise Information Systems and Web Technologies, pp 41-46, 2008.

Following is my single-author paper, a preprint, on arxiv.org:

  1. Ravi S. Iyer, "Improve the Practice of Software Development in India by Having a Software Development Career Track in Indian CS & IT Academia", arxiv.org preprint, last revised 21 Dec 2012. Preprint Abstract: http://arxiv.org/abs/1202.1715; Preprint Pdf: http://arxiv.org/pdf/1202.1715.

Academic Qualification

B.Sc. (Physics) in 1983.

Dropped out of M.Sc. (Physics) due to financial problems. That turned out to be a blessing in disguise as I was able to enter the software industry at a younger age ☺.

Age

57 years

 

Industry Work Experience of Ravi S. Iyer

Industry Experience Overview

18 years in software development industry (in U.S., Europe, Far East Asia and India) playing roles right from programmer, designer, project manager, software development manager to finally a software consultant role. Have also been a trainer teaching programming & design in industry; Retired from commercial work in Aug. 2002.

Employment/Consultancy History

Jul 2001 to Aug 2002

Technical Consultant with CelPro (a Dutch startup), SEEPZ, Mumbai.

Nov 1993 to Jun 2001

Technical Consultant with Mastek, SEEPZ, Mumbai.

Mar 1993 to Oct 1993

Freelance Corporate Training Instructor in Mumbai.

Jun 1990 to Nov 1992

Employed as Software Manager with Boshu Technics (a startup), SEEPZ, Mumbai.

Mar 1984 to May 1990

Employed with Datamatics Consultants, SEEPZ, Mumbai; Started as Trainee Programmer and last position with Datamatics was Project Leader.

Major Projects (on-site and off-site)

Product Development (Description: Technical Areas Involved)

  • Application Framework on .Net to easily build database forms oriented web applications, for Dutch customer: Architecture, OOAD, ASP.Net, C#
  • Internet User Profiling Product for EngageTech, USA: C++, TCP/IP, Multi-threading, ISAPI, NSAPI, CGI, Windows NT, Sun Solaris, IIS & Netscape web servers, ODBC, Internationalization
  • Visual Interface for Object Oriented Business applications tool for Mastek, India: GUI Design, OOAD, Visual C++
  • Automated Tester for Computer Telephony Interface product for Japanese customer: C++, Windows, Multithreading, Windows Hooks
  • Document Imaging Indexing product for Discorp, USA: Windows, C, Oracle, Imaging software
  • SMTP E-Mail Gateway for Wang Laboratories, USA: Unix, X.400, X.500, Sendmail, TCP/IP, OPEN/OFFICE, C
  • Port of  Banyan Vines PC LAN OS Backup utility from Unix to Wang VS OS for Wang Laboratories, USA: Wang VS OS, Unix, Banyan Vines, RPC, C
  • Response module of Wang VS Videotex software for Wang International Telecommunications Research Centre, Belgium: Wang VS OS, VS Videotex, VS Assembler, C
  • Wang VS Operating System Services Quality Assurance for Wang Laboratories, USA: Wang VS OS, OS Dump Analysis Tools, VS Assembler, C
  • Wang Word Processor (WP/WP+) Archiving Utilities for Wang Laboratories, USA: Wang VS OS, VS Assembler
  • Window Manager study for Baan Info Systems, Netherlands: X-Windows, Microsoft Windows, UNIX, SunOS
  • Executive Information System Product for Boshu Technics, India: X-Windows/Motif, C, Informix

Custom Software Development (Description: Technical Areas Involved)

  • Service Management application for Dutch customer: OOAD, ASP.Net, C#
  • Process Simulator for German customer: Architecture, OOAD, C++ & Multithreading
  • ActiveX Graph Controls for Wireless Devices Monitoring for Japanese customer: Visual C++/MFC, ATL/COM
  • Container Routing Support System, SeaLand, USA: Visual C++, ATL/COM, ActiveX controls, Windows NT Services, XML.
  • Electronic Orders Input System, SeaLand, USA: Visual C++, Pro* C/C++, Oracle Objects for OLE, ADO, Multithreading
  • Property Appraisal software for US customer: Windows GUI Design, Visual Basic Coding Guidelines
  • Patent and Annuities software for UK customer: SQLWindows, Windows API, Windows GUI Design
  • Stores Management System for Indonesian customer: Visual Basic, Windows GUI Design
  • VAX/Rdb COBOL to Unix/Informix COBOL Conversion software for Busy Gmbh., Germany: C, ESQL/COBOL, Informix, Unix, VAX/Rdb
  • Document Imaging Indexing System for ImageX, USA: Windows, Sun Solaris, Imaging software, Oracle, Progress
  • Business Application projects (Register & Transfer of Shares, Personnel Payroll etc.) for Datamatics, India: Wang VS OS, COBOL, BASIC

Others (Description: Technical Areas Involved)

  • Wrote a GUI Design guide for Business Applications for Mastek, India.
  • Designed and conducted training courses for well-known companies in Mumbai, India: Windows programming, C/C++ programming
  • Instructor for in-house COBOL training for Datamatics, India: Wang-VS, COBOL

 

https://raviiyerteaches.wordpress.com/ (home page) contents given below:

Ravi S. Iyer's Software Lab. Courses

RAVI IYER TEACHES PROGRAMMING

Home

Last updated on 21st July 2016

This blog has been created to offer the content of software lab. courses taught by Ravi S. Iyer, Software Consultant, Puttaparthi, India, while he was offering free service as Honorary Staff/Honorary Faculty/Visiting Faculty to a Mathematics & Computer Science department in a deemed university in Andhra Pradesh, India, from 2003 to 2011. To know more about software background of Ravi S. Iyer, please visit: http://eklavyasai.blogspot.in/p/about-me.html.

The course contents in this blog/site typically include:

  • Course structure
  • Course book(s); Most courses are based on a primary course book
  • Reference books and other resources, if any
  • Teaching material (could be prepared by me and/or be a re-use of (reference to) external publicly available material usually from US university websites)
  • Assignments

Given below are the course contents for regular courses:

  1. C++ Programming, https://raviiyerteaches.wordpress.com/2013/08/15/cpp-programming/ (short link: http://bit.ly/cpp-prog )
  2. Advanced Unix Programming, https://raviiyerteaches.wordpress.com/2014/03/18/advanced-unix-programming/ (short link: http://bit.ly/au-prog )
  3. Unix Network (socket) Programming including pthread Programming, https://raviiyerteaches.wordpress.com/2014/03/21/network-socket-programming-including-pthread-programming/ (short link: http://bit.ly/net-prog )
  4. Minix Kernel Internals, https://raviiyerteaches.wordpress.com/2014/03/30/minix-kernel-internals/ (short link: http://bit.ly/minix-kern )
  5. Linux Kernel Customization – Mini Course, https://raviiyerteaches.wordpress.com/2014/03/29/linux-kernel-customization/ (short link: http://bit.ly/linux-kern )
  6. Java Web Programming (including HTML) – 2005 Course Report, https://raviiyerteaches.wordpress.com/2014/04/10/java-web-programming-2005-course-report/ (short link: http://bit.ly/java-web-p )
  7. Migration from C++ to C# – Mini Course, https://raviiyerteaches.wordpress.com/2014/05/30/migration-from-c-to-c-mini-course/ (short link: http://bit.ly/c-to-cpp )
  8. ASP.Net Web Programming in C# – Course Report, https://raviiyerteaches.wordpress.com/2014/05/27/c-and-asp-net-web-programming-including-html/ (short link: http://bit.ly/cs-asp-net )

Given below are miscellaneous topics

  1. Advice to Fresh CS Graduates & Post-Graduates on Industry Jobs; Prototype vs. production programming, https://raviiyerteaches.wordpress.com/2014/08/12/student-project-prototype-programming-quality-vs-industryproduction-quality-programming/ (short link: http://bit.ly/proto-vs-prod )
  2. Software development mini-project lab. courses – a report, https://raviiyerteaches.wordpress.com/2014/08/12/software-development-mini-project-lab-courses/ (short link: http://bit.ly/mini-proj )

Please note that science and engineering/technology departments of some, if not most/all of, UGC (University Grants Commission), https://www.ugc.ac.in/,  or AICTE (All India Council for Technical Education), https://www.aicte-india.org/, regulated educational institutions in India use a model of theory courses + lab. courses. In the deemed university that I was associated with, at Ist M.Tech.(CS) level it was usually 5 theory courses + 2 lab. courses in a semester, and somewhat similar at M.Sc. (Maths) level too. though perhaps it was only 1 lab. course per semester. In this deemed university, access to computer facilities for limited time was guaranteed for lab. courses teaching as well as student practice in the time table (the time table had 6 periods of almost an hour each from Mon. to Sat., if I recall correctly) with some additional time beyond the time table being allotted (evening hours). So, access to computer facilities was a significant constraint. During some of the later years of my stint, laptops were permitted for M.Tech. (CS) students and that reduced the constraints somewhat. [Please note that access to computer facilities in other UGC/AICTE institutions may be different from this deemed university that I was associated with. I am quite sure that it would be for significantly longer periods of time in the reputed UGC/AICTE institutions in the country.]

This blog is owned and operated by Ravi S. Iyer. This blog aims to share useful output of Ravi as a teacher of software lab. courses/programming courses.

Feedback from Former Students

A former student who was taught the C++ Programming course by me in the deemed university in Andhra Pradesh, India, wrote the following over email on March 18th 2014 (modified slightly to fix a couple of minor grammatical errors):

It is great that you have shared the C++ programming teaching material prepared by you on your blog. I really hope that people make use of it for I know how useful it could be. I can say this as a direct beneficiary of this, and today that is what fills my bank account at the end of every month.

I just hope and pray that Swami gives you the strength and determination to keep up the good work. I also think that I too can take a tiny part of the credit in this endeavour of you putting up these slides, as I was perhaps one of the many who would have suggested that you put these slides up in some forum accessible to the students’ community. Thank you for considering the request.

Another former student who had been taught Advanced Unix Programming and Unix Network Programming courses by me, wrote me on 22nd March 2014:

These courses (Advanced Unix Programming and Unix Network Programming) went a long way in helping me land my job at Alcatel-Lucent. I had a one-on-one interview with my hiring manager that was entirely on Unix. After joining the company I learned that this person(manager) was a big time ‘Unix fan’. It was very satisfying to have done well in that interview. On the job, we completely relied on Solaris Unix based servers and the concepts of processes and threads gained from these course(s), went a long way in helping me grasp the software.

Thank you Ravi Sir.

Feedback from a Teacher

An Assistant Professor of a deemed university wrote me in June 2014 that the slides and external links on this website/blog of mine is very useful. He further wrote that he is using them to teach BCA (Bachelor of Computer Applications) students.