G CS113 Introduction To Programming

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

National University of Sciences & Technology (NUST)

School of Electrical Engineering and Computer Science (SEECS)


Department of Computer Science

CS-113Introduction to Programming
Course Code: CS-113 Semester: 1st
Credit Hours: 1+1 Prerequisite Codes: N/A
Instructor: Dr. Usman Younis Class: BEE-8D
Office: C-302 IAEC Building Telephone Ext: 2168
Lecture Days: Tuesday, Lab (TBA E-mail: [email protected]
Class Room: CR-13 Consulting Hours: 14:00 – 17:00 on Mondays
Lab Engineer: Mehwish Kiran Lab Engineer Email: [email protected]
Knowledge Group: Programming Updates on LMS: Weekly

Course Description:
The course introduces the fundamental concepts underlying modern computer programming. A
systematic approach is used to teach students how to write programs that solve well specified
problems. Emphasis is placed on the mastery of basic programming skills, with a considerable
attention to the fundamental building blocks of computer programs, and the associated concepts
and principles.

Course Objectives:
The learning objectives are:
1. Developing comprehensive knowledge about the fundamental principles, concepts and constructs
of modern computer programming.
2. Developing competencies for the design, coding and debugging of computer programs.

Course Learning Outcomes (CLOs):


At the end of the course, the students will be able to: PLO BT Level*
1. Understand the syntax and semantics of different 1 C-2
programming constructs
2. Create basic algorithms for identifying and solving real world 2 C-6
problems
3. Use the latest IDEs and other supplementary tools to aid 5 C-3
implementation and code management
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective domain
Remembering (C-1), Understanding (C-2), Applying (C-3), Analyzing (C-4), Evaluating (C-5), Creating (C-6)

Mapping of CLOs to Program Learning Outcomes

PLOs/CLOs CLO1 CLO2 CLO3


PLO 1 (Engineering Knowledge) X
PLO 2 (Problem Analysis) X
PLO 3 (Design/Development of Solutions)
PLO 4 (Investigation)
PLO 5 (Modern tool usage) X

Page 1 of 4
National University of Sciences & Technology (NUST)
School of Electrical Engineering and Computer Science (SEECS)
Department of Computer Science

PLO 6 (The Engineer and Society)


PLO 7 (Environment and Sustainability)
PLO 8 (Ethics)
PLO 9 (Individual and Team Work)
PLO 10 (Communication)
PLO 11 (Project Management)
PLO 12 (Lifelong Learning)

Grading Criteria (In accordance with the NUST statutes)

Assessments Details
Theory:50% Quizzes: 15%
Assignments: 10 %
OHT-1: 15 %
OHT-2: 15%
End Semester Exam:45 %

Labs: 50% Lab Tasks and Viva: 70%


Project: 30%
Total : 100 %

Books:
Text Book: 1. Paul J. Deitel and Harvey M. Deitel, C: How to Program, 8th Edition, Prentice Hall, 2015.
Reference 1. The C Programming Language (2nd Ed.) by Kernighan and Ritchie, 1988.
Books: 2. Code Complete (2nd Ed.) by Steve McConnell, 2004.
3. The Art of Computer Programming (TAOCP) by Donald E. Knuth, 1968.

Week Lecture
01 Introduction and history of programming languages
02 Flowcharts and pseudocode
03 Overview of C program
04 Statements, variables and data types
05 Operators and expressions
06 Selections
07 OHT-1
08 Relational and conditional operators
09 Repetition
10 “While”, “for” and “do while” loops in detail
11 Switch, break, continue
12 Logical operators

Page 2 of 4
National University of Sciences & Technology (NUST)
School of Electrical Engineering and Computer Science (SEECS)
Department of Computer Science

13 OHT-2
14 Scope of variables
15 Function definition and prototypes
16 Arrays
17 Arrays and functions
18 Advanced Topics
19 End Semester Exam

Lab Experiments (Tentative)


Lab 01: Introduction to Programming
Lab 02: Overview of the C/C++ Environment
Lab 03: Writing/ Compiling and Debugging a simple C program (Expressions, Input, Output)
Lab04: Solution with flowcharts and pseudocode
Lab 05: Data types and variables
Lab 06: Use of Arithmetic and Relational Operators
Lab 07: Use of Selection Statements
Lab 08: Use of For and While Loops
Lab 09: Loops and Selection Statements with All Operator Types
Lab 10: Scope of variables and memory allocation
Lab 11: Making Code Modular with Functions
Lab 12: Arrays
Lab 13: Pointers

Tools / Software Requirement:


MS Visual Studio
gcc/g++

Grading Policy:
Quiz Policy: The quizzes may be unannounced and normally last for ten minutes. The question
framed is to test the concepts involved in last few lectures.
Assignment Policy: The course website will be the primary source for announcements and submitting
assignments.
Lab Conduct: The labs will be conducted for three hours every week. The lab handouts will be
shared on LMS. The students are required to submit their lab tasks at the end of lab
for evaluation. One submission per group will be required. However, students may
also be evaluated by oral viva during the lab.
Plagiarism: Collaboration and group wok is encouraged but each student is required to submit
his/her own contribution(s). Your writings must be your own thoughts. You must cite
and acknowledge all sources of information in your assignments. Cheating and
plagiarism will not be tolerated and will lead to strict penalties including zero marks in
assignments as well as referral to the Dean for appropriate action(s).

Page 3 of 4
National University of Sciences & Technology (NUST)
School of Electrical Engineering and Computer Science (SEECS)
Department of Computer Science

Program Learning Outcomes (PLOs)

Program outcomes are the narrower statements that describe what students are expected to know and be
able to do by the time of graduation. These relate to the knowledge, skills and attitude that the students
acquire while progressing through the program. The program must demonstrate that by the time of
graduation the students have attained a certain set of knowledge, skills and behavioral traits, at least to
some acceptable minimum level. Specifically, it is to be demonstrated that the students have acquired the
following graduate attributes:

(i) Engineering Knowledge: An ability to apply knowledge of mathematics, science, engineering


fundamentals and an engineering specialization to the solution of complex engineering
problems.
(ii) Problem Analysis: An ability to identify, formulate, research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of mathematics,
natural sciences and engineering sciences.
(iii) Design/Development of Solutions: An ability to design solutions for complex engineering
problems and design systems, components or processes that meet specified needs with
appropriate consideration for public health and safety, cultural, societal, and environmental
considerations.
(iv) Investigation: An ability to investigate complex engineering problems in a methodical way
including literature survey, design and conduct of experiments, analysis and interpretation of
experimental data, and synthesis of information to derive valid conclusions.
(v) Modern Tool Usage: An ability to create, select and apply appropriate techniques, resources,
and modern engineering and IT tools, including prediction and modeling, to complex engineering
activities, with an understanding of the limitations.
(vi) The Engineer and Society: An ability to apply reasoning informed by contextual knowledge to
assess societal, health, safety, legal and cultural issues and the consequent responsibilities
relevant to professional engineering practice and solution to complex engineering problems.
(vii) Environment and Sustainability: An ability to understand the impact of professional engineering
solutions in societal and environmental contexts and demonstrate knowledge of and need for
sustainable development.
(viii) Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms
of engineering practice.
(ix) Individual and Team Work: An ability to work effectively, as an individual or in a team, on
multifaceted and /or multidisciplinary settings.
(x) Communication: An ability to communicate effectively, orally as well as in writing, on complex
engineering activities with the engineering community and with society at large, such as being
able to comprehend and write effective reports and design documentation, make effective
presentations, and give and receive clear instructions.
(xi) Project Management: An ability to demonstrate management skills and apply engineering
principles to one’s own work, as a member and/or leader in a team, to manage projects in a
multidisciplinary environment.
(xii) Lifelong Learning: An ability to recognize importance of, and pursue lifelong learning in the
broader context of innovation and technological developments.

Page 4 of 4

You might also like