Computer Programming (University of Rajasthan, February-March 2022)
Instructor: Sanjeev Kumar
Pre-requisites
The basic pre-requisites for this course are a proper knowledge of basic logic and algorithm makings: How to solve a problem by hand and how to work logic.
Message Channel
If you want to get updates on mobile, send your mobile number on email and get updates on whatsapp/hike/sms.
Dates and timings
Monday, Tuesday, Friday and Saturday 10:00 AM – 11:00 AM
Starting date: Revision of pre-requisites from February 4, new course material from February 11, 2022.
Venue
Smart room 2
Links
Contact
Email: sanjeev@uniraj.ac.in
Office: R201
Mobile: +91 9462807073
Calendar
About the course
This is a Masters in Physics course at Department of Physics, University of Rajasthan, Jaipur.
Several textbooks will be used during the course. The five books pictured above (click to enlarge) are among the recommended ones. A list of other C-programing language textbooks can be found on the internet. Syllabus is covered from two books, one is by Robert Sebesta and another is Deitel.
Details about these books can be found by clicking here.
The course contents are as follows:
Basic concepts of programming languages: Programming domains, language evaluation criterion and language categories. Describing Syntax and Semantics, formal methods of describing syntax, recursive descent parsing, attribute grammars, dynamic semantics. Names, Variables, Binding, Type checking, Scope and lifetime.
Data types, array types, record types, union types, set types and pointer types, arithmetic expressions, type conversions, relational and Boolean expressions, assignment statements, mixed mode assignment, statement level control structure, compound statements, selection statement, iterative statements, unconditional branching, guarded commands. Fundamentals of sub-program, design issues, parameter passing methods, overloaded subprograms, generic subprograms, separate and independent compilation, design issues for functions, accessing nonlocal environment, user defined overloaded operators, implementing subprograms, blocks, implementing dynamic scooping.
Programming in C: Character set, variables and constants, keywords, Instructions, assignment statements, arithmetic expression, comment statements, simple input and output, Boolean expressions, Relational operators, logical operators, control structures, decision control structure, loop control structure, case control structure, functions, subroutines, scope and lifetime of identifiers, parameter passing mechanism.
Arrays and strings, structures, array of structures, Unions of structures, operations on bits, usage of enumerated data types. Bit-fields, Pointers to Function, Function returning Pointers.
Assignments
Home assignment 1: Assigned 11 March 2022, due 15 March 2022
Lab work: Assigned in March 2022, due date is not given. (pdf)
Midterm 2: Online: 14 April 2022
Main exam: 6 May 2022 (scanned by Jagdish Yadav)
Notes
There are few handwritten notes/slides can be found in previous year pages. This is to maintain the record of classes held during the course. To find files written for discussion can be found at github.
Introduction to syllabus and pattern of course: 4 and 5 February 2022
Revision lecture: 7 and 8 February 2022 (pdf)
Lecture 1: 11 February 2021
Lecture 2: 12 February 2021
Lecture 3: 14 February 2021
Lecture 4: 15 February 2021
Lecture 5: 18 February 2021
Lecture 6: 19 February 2021
Lecture 7: 21 February 2021
Lecture 8: 22 February 2021
Lecture 9: 25 February 2021
Lecture 10: 26 February 2021
Teaching off due to Science day program: 28 March 2022
Holiday: Mahashivratri: 1 March 2021
Lecture 11: 4 March 2022
Lecture 12: 5 March 2022
Lecture 13: 7 March 2022
Lecture 14: 8 March 2022
Lecture 15: Introduction to user defined functions: 11 March 2022
Lecture 16: 12 March 2022
Lecture 17: 14 March 2022
Lecture 18: 15 March 2022
Holiday: Holi: 18 March 2022
No student appeared: 19 March 2022
No class held due to midterm exams: 21 and 22 March 2022
Holiday: Shitlashthami: 25 March 2022
No class held due to midterm practical exams: 26 and 28 March 2022
Lecture 19: 29 March 2022
Lecture 20: 1 April 2022
Holiday: Navratra: 2 April 2022
Lecture 21: 4 April 2022
Lecture 22: 5 April 2022
Lecture 23: 8 April 2022
Lecture 24: 9 April 2022
Lecture 25: 11 April 2022
Lecture 26: 12 April 2022
Attendance
In classroom: Course is over