COURSE OUTLINE
SCHOOL OF ENGINEERING AND APPLIED SCIENCES (SEAS)
Programming Fundamentals (CS – 132)
BS Mathematics / BS Computer Science/ BS Software
Engineering / BS Data Science
Fall 2025 Semester
Faculty: School of Engineering and Applied Sciences
Credit hours: 3 (Coursework)
Course level: Undergraduate
Location/InstructionMode: On Campus
Course Convenor: Almas Ilyas
Contact:
[email protected]Pre-requisites: None
LMS Link: TBA
Consultation hours: Mentioned on my timetable
This document was last Nov 01, 2024 (Version: 1.9)
updated:
COURSE OBJECTIVES
This course aims to introduce students to the practice of developing software solutions to (simple)
problems. It would typically be taken in a student's first semester of study at SEAS. It forms a critical
introduction to both computing and the CS/SE community, and leads on to all other courses offered
by SEAS.
The goal of the course is to expose students to:
1. Develop problem solving and algorithm development techniques
2. Understand the Java language syntax
3. Convert algorithms into Java programs
4. Debug common errors in Java programs
5. Understand and appreciate the role of computers in solving the prevailing problems of the society
Page 1 of 5
Course Learning Outcomes
CLO No Course Learning Outcomes Bloom PLO
Taxonomy
CLO-1 Explain the fundamental concepts of programming. 2 1
CLO-2 Employ basic programming constructs using a 3 2
programming language.
CLO-3 Design and Implement algorithms to solve real world 3 3
problems.
TEXT AND REFERENCE BOOKS
Textbook:
Tony Gaddis, Starting out with Java: From Control Structures through Objects, 6th Edition, Pearson
2016.
COURSE ORGANIZATION
There will be 30 lectures (75 minutes each) during the semester. The assessment details are as under:
Item Assessment Task Weightage
1. Class Participation 10%
2. Assignments 15%
3. Quizzes 20%
4. Mid Term Exam 25%
5. Final Term Exam 30%
Pass percentage: 40%
Students must complete each component of the assessment to the satisfaction of the course
instructor and achieve an overall mark of at least 40% to pass the course. All components of the
above assessment are compulsory and must be completed to obtain a pass grade. Students are
expected to perform satisfactorily in each item.
Page 2 of 5
COURSE OUTLINE AND TENTATIVE LECTURE PLAN
Lecture Chapter Contents Teaching Assessment
# # Material Due
1 • Course Introduction
Introduction
Slides + Code
Chapter 1:
• Why Programming?
• What a program is made of? Examples +
• Numbers Lecture Notes
• Number Types
2 • Variables Homework
Chapter 2: Java Fundamentals
• Variable Declarations –1
• Data Types Slides + Code
• Names Examples +
• Comments Notes
• Assignment
3-4 • Arithmetic Quiz – 1
• Arithmetic Operators Homework
• Converting Floating-Point Numbers into Slides + Code –2
Integers Examples +
• Avoiding Negative Remainders Notes
• Combining Assignment and Arithmetic
5-6 • Decisions Assignment
• The if Statement Slides + Code -1
• Comparing Values Examples +
• Notes
Chapter 3: Decision Structures
Relational Operators
• Comparing Floating-Point Numbers
• Problem Solving: Flowcharts
7 • Multiple Alternatives Slides + Code
• Problem Solving: Flowcharts Examples +
Notes
8-9 • Nesting Branches Slides + Code Quiz - 2
• Hand-Tracing Examples + Homework
• Block Scope Notes –3
• Problem Solving: Flowcharts
10 • Boolean Variables and Operators Slides + Code Quiz-3
• Short-Circuiting Evaluation of Boolean Examples + Assignment
Operators Notes -2
11-12 • Increment and Decrement (Postfix and Slides + Code
Prefix) Examples +
Chapter 4: Loops and Files
• Loops Notes
• The while Loop
• Problem Solving: Flowcharts and Hand-
Tracing
13 • The for Loop Slides + Code Quiz-3
• Variables Declared in a for Loop Header Examples +
• Flowcharts Notes
14 • Processing Sentinel Values Slides + Code
• break and continue Statements Examples +
Notes
Page 3 of 5
Lecture Chapter Contents Delivery Mode Assessment
# # Due
15 • Nested Loops Slides + Code
Chapter 4: Loops and Files
Examples + Notes
16 • Common Algorithms Slides + Code
Examples + Notes
17-18 • Powers and Roots (Java API and Slides + Code Quiz – 4
Math) Examples + Notes
• Input and Output (Scanner)
• Reading Input
• Formatted Output
19-20 • Introduction to Methods Slides + Code
• Method Arguments Examples + Notes
Chapter 5:
Methods
• Return Values
• Non-returning Methods (void)
21 • Local Variables and Scope Slides + Code Assignment – 3
• Return Values from Methods Examples + Notes
22 • Objects and Classes Slides + Code
Chapter 6: A
First Look at
• What methods are? Examples + Notes
Classes
• Instance Fields
23-24 • Strings Slides + Code Quiz –5
• The String Type Examples + Notes
Chapter 2: Java
•
Fundamentals
Concatenation
• String Input
• Escape Sequences
• Strings and Characters
• Substrings
• Using Dialog Boxes for Input and
Output
25-26 • Arrays Slides + Code
• Examples + Notes
Chapter 7: Arrays and the ArrayList
Declaring and Using Arrays
• Using Arrays and Methods
• Partially Filled Arrays
27-28 • The Enhanced for Loop Slides + Code Assignment – 4
• Common Array Algorithms (Filling, Examples + Notes
Sum and Average, Maximum and
Class
Minimum, Linear Search, Swapping
Elements, Copying Arrays, Reading
Input)
• Sorting with the Java Library
29 • String Arrays Slides + Code
• Two Dimensional Arrays Examples + Notes
30 • Two Dimensional Arrays Examples Slides + Code
Examples + Notes
Page 4 of 5
▪ Course materials, announcements, all assessment items, and recorded lectures will be hosted
on Google Classroom.
▪ NOTE: All quizzes, assignments, and project deliverables will have submission time limits.
Late submissions will have penalties as marks deductions. Details of penalties will be given
in each assessment item document.
▪ There will be a weekly live QA session. You are all expected to participate and ask questions.
The frequency of the live sessions may be adjusted as per the student’s feedback. Details of
the live sessions will be announced on Google Classroom.
Please note: This is a proposed schedule only and may be varied at the discretion of the instructor
to give a greater or lesser degree of emphasis to particular topics.
PLAGIARISM
Unfortunately, some students have resorted to cheating and plagiarism in the past. We want to make
it clear to you that we have a zero-tolerance policy for such cases. You have made it to GIFT after
passing through significant competition. Do not squander a promising opportunity that may have
significant impact on your future. After all, it will be too bad to be expelled from GIFT or to end up
with an F grade.
Some typical cases that we have encountered in the past include submitting identical homework,
copying a paragraph from the internet for your assignment without referencing the source, and taking
someone else’s code, changing variable names in it, and then submitting it under your own name.
The instructors also reserve the right to use automated tools to check for plagiarism.
CLASS DISCIPLINE
Participation in, and contribution to, class discussions will positively help you in understanding and
applying the concepts learned during the lectures. Raise your hand if you have any question. Making
any kind of disruption (e.g. side talks, continually come to class late, continually leaving class early,
use of cell phones, etc.) in the class is strongly discouraged and may result in the removal of students
from the lectures.
COURSE COMMUNICATION
All communication in this course will be done via emails, WhatsApp group and Google
classroom. You are expected to regularly monitor above communication channels for any
important announcements during the course.
ATTENDANCE
Excellent attendance (minimum 80%) is expected. University policy automatically assigns a WF
grade if a student misses 20% of the classes that are not excused.
Page 5 of 5
Prepared By: Almas Ilyas Almas
Reviewed By: Dr. M. Faheem Signature
Recommended HoD Signature
By:
Reviewed by Director QEC Signature
QEC
Approved By Online Academic Council Date
Page 6 of 5