MENU
PRINCIPLES OF PROGRAMMING LANGUAGES (JULY - DEC 2025) MAIN MENU

About the Course


Programming languages are the means by which humans solve problems on computers. They express algorithms in a sufficiently precise manner for execution on computers.

Humans use a variety of strategies to solve problems that range from search to logic. Programming languages too are designed to reflect such strategies. For example, today's popular languages such as Java, C++ and Python give a sequence of instructions which together solve a problem; LISP uses a functional approach while Prolog is designed for logic.

In this course, students learn the general concepts that are common to all programming languages so that they learn the underlying abstractions and problem-solving strategies. Further, they learn to understand and appreciate the salient features of many programming languages. They learn how to make a critical choice of the level of abstraction needed to solve a problem and pick a suitable language. The assignments will use languages familiar to a typical CS UG student for illustration and self-exploration.

Prerequisites:
Introductory programming course, Object-oriented programming/design

Syllabus


Unit Weeks
I. Introduction
  • Why so many programming languages
  • What is programming?
  • How do humans solve problems?
  • A wee bit of history
1 - 2
II. Programming Life Cycle
  • Problem definition
  • Generalise and specialise
  • Find a suitable algorithm
  • Design data structures and functions
  • Write and execute code
  • Test and debug
  • Analyse performance
  • Write user and technical documents
2 - 4
III. What makes successful programming langauge?
  • Readability and efficiency
  • Suitability and naturalness
  • Ease in compiling and debugging
  • Availability and access
  • Some case studies: Fortran, LISP, C, C++, Java, Python
4 - 5
IV. Design Features
  • Binding times
  • Operator precedence
  • Control flow between statements
  • Block structure: named and unnamed blocks
  • Subprogram control and parameter passing
  • Static and runtime structures
5 - 13
Assignment - I Due: 15 Sep 2025 (7:00 PM)
V. Scope and Runtime Environments
  • Associations and referencing operations
  • Local, non-local and global environments
  • Functional, objected oriented and logical programs
  • Garbage collection
13 - 18

Students List


'Y' in 'A1' column indicates that I received the first assignment
If there is no 'Y' against your name, contact me
S.No. Roll No. Name of the StudentsA1
1 23MCCE01 PRANAV PREREPAY
2 23MCCE02 YASH SHARMAY
3 23MCCE03 NALLA NAVEEN KUMAR
4 23MCCE04 AMEERPETA SRINIDH Y
5 23MCCE05 VADDEPALLY VINITH Y
6 23MCCE06 ANAND NARASIMHA MEDEME Y
7 23MCCE07 AMARTYA KUNTA Y
8 23MCCE08 ANTU DASY
9 23MCCE10 PIYUSH KAMAL Y
10 23MCCE11 ARAVIND KUMAR CHOPPARAPUY
11 23MCCE12 KANDI RAMCHANDRA Y
12 23MCCE13 BHAVANI SHANKAR ARUGONDA Y
13 23MCCE14 PANKHURI Y
14 23MCCE15 CHANDAN KUMARY
15 23MCCE16 ANUJ DANGIY
16 23MCCE17 KALIYUGA BADUGUNNALA Y
17 23MCCE18 SETTY DEVESH Y
18 23MCCE20 BALASTU MOUNIKA Y
19 23MCCE21 SANATH KUMAR COONANI Y
20 23MCCE22 KODI AMULYAY
21 23MCCE23 VEDANG SABBINENIY
22 23MCCE24 DASAM SAI KUMARY
23 23MCCE25 VISHNUVARDHAN BSY
24 23MCCE26 GOTIVADA PRAMODHY
25 23MCCE27 PRADYUN K Y
26 23MCCE28 SRI TAPASYA ALAPATI Y
27 23MCCE30 VINEETH ARELLY
28 23MCCE31 DEVA KUMAR NALABOTHU Y
29 23MCCE33 KOVURI DEEVENA Y
30 23MCCE34 ANUMALA ANJALI Y
31 23MCCE35 KALALI UDAY KUMAR GOUD Y
32 23MCCE36 NANDITHA CHOUDARY DODDAPUNENI Y
33 23MCCE37 B SHASHIVARDHAN SAGAR
34 23MCCE39 N.JITHENDER RATHODY
35 22MCCE07 GUNAVARDAN REDDY Y
36 22MCCE08 GUNTAKA VAMSI NADH REDDY
37 22MCCE13 AYYAGARI KRISHNA VAIBHAVY
38 22MCCE16 KODIDE BHANU CHANDARY
39 22MCCE19 EMAMGARI VARUNY
40 22MCCE31 C LAVANYA Y
41 22MCCE34 SUDARSI SUBHASH Y
42 22MCCE35 VIRAJ SAHA
43 22MCCE37 G ABHINAVY
44 22MCCE40 J PRUTHVIKA Y

List of Recourse Students


S.No. Roll No. Name of the Students
1. 22MCCE02 KUNCHAM VENKATA SOMA SEKHAR REDDY
2. 22MCCE06 PENTAMSETTY KRISHNA SATHVIK Y
3. 22MCCE09 RIDHAM KHURANAY
4. 22MCCE21 KARRI MANOHARY
5. 22MCCE23 MULAGAPAKA NAGA BHARATHY

School of Computer and Information Sciences