CS 200-EE 201-Introduction To Programming-Zartash A Uzmi-Saqib Ilyas
CS 200-EE 201-Introduction To Programming-Zartash A Uzmi-Saqib Ilyas
To understand how to navigate course outlines, consult: How to Use a Course Outline (http://surl.li/gpvuw )
Instructor Dr. Zartash A Uzmi, Dr. Saqib Ilyas Secretary/TA Mr. Afaq Butt/ TAs to be assigned
Room No. 9-G13A, CS Department, SBASSE Building TA Office Hours To be decided
Office Hours To be decided Course URL (if any) lms.lums.edu.pk
Email Lecture Mode In-Person
Telephone 8187
Support LUMS offers a range of academic and other services to support students. These are mentioned below, and you are encouraged
Services to use these in addition to in-class assistance from course staff. For a complete list of campus support services available for you
click here (https://advising.lums.edu.pk/#supportservices)
COURSE DESCRIPTION
This course provides a conceptual and practical introduction to programming. This is a second course in the programming stream. Its focus is
on programming rather than the choice of programming language, with object oriented principles being brought out through the study of ‘C++’.
This course will equip students with tools and techniques to implement a given problem programmatically.
COURSE PREREQUISITE(S)
• CS100
COURSE BASICS
Credit Hours 4
Lecture(s) Nbr of Lec(s) Per Week 2 Duration 75 min, MW – 8:00 AM-9:15 AM, Programming Studio
Recitation/Lab (per week) Nbr of Lab(s) Per Week 1 Duration 170 min, R – 10: 00 AM – 12:50 PM, Prog. Studio
Tutorial (per week) Nbr of Tutorial(s) Per Week As needed Duration
COURSE DISTRIBUTION
Core Yes
Elective No
Open for Student Category Freshmen, Sophomore
Close for Student Category None
EXAMINATION DETAIL
Lahore University of Management Sciences
Yes/No: Yes
Combine Separate: NA
Midterm Duration: 75 Mins
Exam
Preferred Date: Mid-term exam week
Exam Specifications: Closed book / closed notes
Yes/No: Yes
Combine Separate: NA
Final Exam Duration: 150 mins (may change)
Exam Specifications: Closed book / closed notes
COURSE MODULES
Module Topics Recommended Readings (PSC) Recommended Readings (CFE) CLOs
1. Recap of Programming 1 – Basics CH1, CH2, CH3 CH1 to CH4 CLO1 – CLO3
2. Recap of Programming 2 – Functions CH4, CH5 CH5 to CH8 CLO1 – CLO3
3. Streams / Classes and Objects CH6, CH10 CH9 CLO1 – CLO3
4. Friends and Overloaded Operators CH11 CLO1 – CLO3
5. Recursion CH14 CH11 CLO1 – CLO3
6. Pointers CH9, CH13 CH7 CLO1 – CLO3
7. Linked Lists CH13 CH13 CLO1 – CLO3
8. Queues and Stacks (Subject to time) CH13 CH13 CLO1 – CLO3
9. Inheritance CH15 CH10 CLO1 – CLO3
10. Polymorphism CH15 CLO1 – CLO3
11. Exception Handling CH16 CLO1 – CLO3
12. Templates / STL (Subject to time) CH17, CH18 CLO1 – CLO3
TEXTBOOK(S)/SUPPLEMENTARY READINGS
Problem Solving with C++ (PSC), (9th Edition) Walter Savitch, Addison-Wesley ISBN 0-13-359174-3 ©2015
Problem Solving with C++ (PSC), (10th Edition) Walter Savitch, https://media.pearsoncmg.com/bc/abp/cs-
Books resources/products/product.html#product,isbn=0134710746
Thinking in C++ (TIC), (Vol1 and 2) http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
C++ for Everyone (CFE) https://horstmann.com/cpp4everyone/cpp4everyone.html
C++ Language Tutorial http://www.cplusplus.com/doc/tutorial/
Tutorials
C++ Made Easy http://www.cprogramming.com/tutorial.html
Videos Seminar with Alan Kay on Object Oriented Programming https://www.youtube.com/watch?v=QjJaFG63Hlo
Supplemental readings may also be provided by the
Handouts
instructor.
Campus Supports:
Students are strongly encouraged to meet course instructors and TA’s during office hours for assistance in course-content, understand the course’s
expectations from enrolled students, etc. Beyond the course, students are also encouraged to use a variety of other resources. (Instructors are also
encouraged to refer students to these resources when needed.) These resources include Counseling and Psychological Services/CAPS (for mental
health), LUMS Medical Center/LMC (for physical health), Office of Accessibility & Inclusion/ OAI (for long-term disabilities), advising staff dedicated
to supporting and guiding students in each school, online resources (https://advising.lums.edu.pk/advising-resources), etc. To view all support
services, their specific role as well as contact information click here (https://advising.lums.edu.pk/#supportservices).
Academic Honesty/Plagiarism:
LUMS has zero tolerance for academic dishonesty. Students are responsible for upholding academic integrity. If unsure, refer to the student
handbook and consult with instructors/teaching assistants. To check for plagiarism before essay submission, use [email protected]. Consult
the following resources: 1) Academic and Intellectual Integrity (http://surl.li/gpvwb), and 2) Understanding and Avoiding Plagiarism
(http://surl.li/gpvwo).
Long-term medical conditions are accommodated through the Office of Accessibility & Inclusion (OAI). Short-term emergencies that impact studies
are either handled by the course instructor or Student Support Services (SSS). For more information, please see Missed Instrument or ‘Petition’
FAQs for students and faculty (https://rb.gy/8sj1h )
Appendix A
Bloom’s Taxonomy (Cognitive, Psychomotor, Affective)
*(https://cft.vanderbilt.edu/guides-sub-pages/blooms-taxonomy/)
(https://www.astate.edu/dotAsset/7a3b152c-b73a-45d6-b8a3-7ecf7f786f6a.pdf)
BLOOM’s TAXONOMY - Psychomotor Process Dimension (A1) Receiving Phenomena, (A2) Responding to Phenomena,
(A3) Valuing, (A4) Organization, (A5) Internalizing values (characterization)
Lahore University of Management Sciences
Appendix B
Program Learning Outcomes (PLOs)
Student Outcomes (SOs) / Graduate Attributes (GAs)
Seoul Accord
https://www.seoulaccord.org/document.php?id=79
Appendix C
ACM C.2.2: Computer Science Draft Competencies
Page 111, Computing Curricula 2020 (CC2020)
https://www.acm.org/binaries/content/assets/education/curricula-recommendations/cc2020.pdf
SDF-Software Development Fundamentals (page 113)
1. Create an appropriate algorithm to illustrate iterative, recursive functions, as well as divide-and-conquer techniques
and use a programming language to implement, test, and debug the algorithm for solving a simple industry problem.
2. Decompose a program for a client that identifies the data components and behaviors of multiple abstract data types
and implementing a coherent abstract data type, with loose coupling between components and behaviors.
3. Design, implement, test, and debug an industry program that uses fundamental programming constructs including
basic computation, simple and file I/O, standard conditional and iterative structures, the definition of functions, and
parameter passing.
4. Present the costs and benefits of dynamic and static data structure implementations, choosing the appropriate data
structure for modeling a given engineering problem.
5. Apply consistent documentation and program style standards for a software engineering company that contribute
to the readability and maintainability of software, conducting a personal and small-team code review on program
component using a provided checklist.
6. Demonstrate common coding errors, constructing and debugging programs using the standard libraries available
with a chosen programming language.
7. Refactor an industry program by identifying opportunities to apply procedural abstraction.
Lahore University of Management Sciences
Appendix D
ACM Computing Knowledge Landscape Table
https://www.acm.org/binaries/content/assets/education/curricula-recommendations/cc2020.pdf
Appendix E
ACM Dispositions Table
https://www.acm.org/binaries/content/assets/education/curricula-recommendations/cc2020.pdf
ACM Dispositions
D1 Adaptable: Flexible; agile, adjust in response to change D7 Professional: Professionalism, discretion, ethical, astute
D2 Collaborative: Team player; willing to work with others D8 Purpose-driven: Goal driven, achieve goals, business acumen
D3 Inventive: Exploratory; Look beyond simple solutions D9 Responsible: Use judgment, discretion, act appropriately
D4 Meticulous: Attentive to detail; thoroughness, accurate D10 Responsive: Respectful; react quickly and positively
D5 Passionate: Conviction, strong commitment, compelling D11 Self-directed: Self-motivated, determination, independent
D6 Proactive: With initiative, self-starter, independent