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
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


S.No. Roll No. Name of the Students
1 23MCCE01 PRANAV PREREPA
2 23MCCE02 YASH SHARMA
3 23MCCE03 NALLA NAVEEN KUMAR
4 23MCCE04 AMEERPETA SRINIDH
5 23MCCE05 VADDEPALLY VINITH
6 23MCCE06 ANAND NARASIMHA MEDEME
7 23MCCE07 AMARTYA KUNTA
8 23MCCE08 ANTU DAS
9 23MCCE10 PIYUSH KAMAL
10 23MCCE11 ARAVIND KUMAR CHOPPARAPU
11 23MCCE12 KANDI RAMCHANDRA
12 23MCCE13 BHAVANI SHANKAR ARUGONDA
13 23MCCE14 PANKHURI
14 23MCCE15 CHANDAN KUMAR
15 23MCCE16 ANUJ DANGI
16 23MCCE17 KALIYUGA BADUGUNNALA
17 23MCCE18 SETTY DEVESH
18 23MCCE20 BALASTU MOUNIKA
19 23MCCE21 SANATH KUMAR COONANI
20 23MCCE22 KODI AMULYA
21 23MCCE23 VEDANG SABBINENI
22 23MCCE24 DASAM SAI KUMAR
23 23MCCE25 VISHNUVARDHAN BS
24 23MCCE26 GOTIVADA PRAMODH
25 23MCCE27 PRADYUN K
26 23MCCE28 SRI TAPASYA ALAPATI
27 23MCCE30 VINEETH ARELLY
28 23MCCE31 DEVA KUMAR NALABOTHU
29 23MCCE33 KOVURI DEEVENA DEEVENA DEEVENA
30 23MCCE34 ANUMALA ANJALI
31 23MCCE35 KALALI UDAY KUMAR GOUD
32 23MCCE36 NANDITHA CHOUDARY DODDAPUNENI
33 23MCCE37 B SHASHIVARDHAN SAGAR
34 23MCCE39 N.JITHENDER RATHOD
35 22MCCE07 GUNAVARDAN REDDY
36 22MCCE08 GUNTAKA VAMSI NADH REDDY
37 22MCCE13 AYYAGARI KRISHNA VAIBHAV
38 22MCCE16 KODIDE BHANU CHANDAR
39 22MCCE19 EMAMGARI VARUN
40 22MCCE31 C LAVANYA
41 22MCCE34 SUDARSI SUBHASH
42 22MCCE35 VIRAJ SAHA
43 22MCCE37 G ABHINAV
44 22MCCE40 J PRUTHVIKA

List of Recourse Students


S.No. Roll No. Name of the Students
1. 22MCCE02 KUNCHAM VENKATA SOMA SEKHAR REDDY
2. 22MCCE06 PENTAMSETTY KRISHNA SATHVIK
3. 22MCCE09 RIDHAM KHURANA
4. 22MCCE23 MULAGAPAKA NAGA BHARATH

School of Computer and Information Sciences