Syllabus PRF192

You might also like

Download as xls, pdf, or txt
Download as xls, pdf, or txt
You are on page 1of 16

FPT UNIVERSITY

UNDERGRADUATE PROGRAM
SYLLABUS

(Under Decision No.1040/QĐ-ĐHFPT dated 10/8


1 Course Name
2 Course Code
3 No of credits
4 Degree Level

5 Time Allocation

6 Pre-requisite

Course
7 Objectives
(CO)
Learning
8 Outcomes
(LO)

9 Student's task

Teaching &
10 Learning
Materials

Assessment
11
scheme

12 Scoring scale
13 Schedule
14 Exam structure

15 Approval Date

16 Approval Level
FPT UNIVERSITY

UNDERGRADUATE PROGRAM
SYLLABUS

(Under Decision No.1040/QĐ-ĐHFPT dated 10/8/2018)


PROGRAMMING FUNDAMENTALS (Using C)
PRF192
3
Bachelor

Class hours: 30 slot of 1.5 hour


Lectures: 15 slots
Tutorials: 15 slots
Home study: 60 slots

Understand basics of information theory, computer system and methods of software development, focus on function
and discipline in programming.
Explain basic concepts of programming, function-oriented programming design, modularity, understand and coding
Upon completing the course, student should have:
1. Knowledge: (ABET e)
- Explain the way to solve a real problem using computer .
- Understand the basic concepts of information theory, computer system, and software development.
- Understand the basic concepts of programming, focus on procedure programming, testing and debugging, unit tes
2. Skills in programming: (ABET k)
- Read and understand the simple C programs;
- Solve real problems using C
3. Apply learning methods effectively: (ABET i)
- academic reading
- individual and team work behaviors
LO1. Describe about a program, and the way it works on computer.
LO2. Demonstrate about variables, expressions and basic operations and illustrate them by program examples.
LO3. Explain the meaning and use of Logic constructs in C Language. Describe about programming styles.
LO4. Describe about Modularity and Functions in C programs and their use.
LO5. Discuss about C Libraries and their use.
LO6. Discuss about Arrays and their use in C programs.
LO7. Discuss about Strings and their use in C programs.
LO8. Discuss about Files and their use in C programs.

- Students must attend more than 80% of contact sessions in order to be accepted to the final examination.
- Student is responsible to do all assigned exercises given by instructor in class or at home and submit on time
- Use laptop in class only for learning purpose
- Promptly access to the FU CMS at http://cms.fpt.edu.vn for up-to-date course information

Main books/resources:
1) Student book: Foundations of Programming Using C, Evan Weaver, 2003, printed by FPT University in 2007 (har
2) BTP100: http://cs.senecac.on.ca/~btp100/pages/welco.html
(online course website or in FU intranet): Readings, workshops, assignments, hand-outs, practices
3) FU Presentation Powerpoints (.zip)
4) FU CMS at http://cms.fpt.edu.vn .

Other references/resources:
1) http://www.imada.sdu.dk/~svalle/courses/dm14-2005/mirror/c/
2) BTP100: resources

Tools:
- Internet
- C language utility (ex.DevC++ 4.9.9.2)

1) Ongoing assessment: 70%:


2 progress tests: 10%
8 workshops: 10%
1 assignment: 10%
1 practical exam: 40%
2) Final Exam: 30%
3) Final result 100%

Completion Criteria:
1) Every on-going assessment component > 0
2) Final Exam Score >= 4 & Final Result >= 5

10
See Appendix 1
See Appendix 2
LO1. Describe about a program,
1
and the way it works on computer.

LO2. Demonstrate about


variables, expressions and
2
basic operations and illustrate
them by program examples.

LO3. Explain the meaning and


use of Logic constructs in C
3
Language. Describe about
programming styles.

LO4. Describe about


4 Modularity and Functions in C
programs and their use.
LO5. Discuss about C Libraries
5
and their use.

LO6. Discuss about Arrays and


6
their use in C programs.

LO7. Discuss about Strings and


7
their use in C programs.

LO8. Discuss about Files and


8
their use in C programs.
LEARNING OUTCOMES IN DETAILS

LO1.1 Describe what is a program and how it work on computer.


LO1.2 Explain why C Language is selected as the first language.
LO1.3 Explain meaning of the term “Compiling a C program”.
LO1.4 Define software and describe features of good software.
LO1.5 Describe generations of programming languages.

LO2.1 Explain about variables (syntax for declaration, how to identify variables in a problem)
LO2.2 List primitive data types and explain about them (number of bytes each type occupies, relation with variables
LO2.3 Describe about encoding sequences, explain in detail the ASCII one.
LO2.4 Explain about basic memory operation: assignment, output and input the value of a variable.
LO2.5 Describe about operators (arithmetic, relational and logical). Create examples to illustrate them.
LO2.6 Define expressions and expression types (arithmetic, relational, logical) in C programs. Create examples usi
LO2.7 Discuss about casting between data types and precedence of operators.

LO3.1 Explain the type of logic constructs (sequential, selection and iteration). Create examples to illustrate them.
LO3.2 Explain why in many cases we need to design the program before coding it. Compare pseudo-code and flow
LO3.3 Explain the statement and code block. Show why we need code block.
LO3.4 Explain and distinguish selection constructs if and switch. Create examples to illustrate them.
LO3.5 Explain iteration constructs: while, do...while and for. Distinguish and create examples to illustrate them.
LO3.6 Describe the use of key words break and continue. Create meaningful examples for them.
LO3.7 Create examples from reality which mix-use logic constructs.
LO3.8 Discuss about programming styles (naming, indentation, comment, magic values, general guidelines)

LO4.1 Explain about Structured Design and modules in C program.


LO4.2 Explain and give examples to illustrate the cohesive and coupling properties of a module. Show what repres
LO4.3 Describe the syntax of a function and components related to it: return type, name, header, prototype, param
LO4.4: identify functions, input, output parameters from the problem.
LO4.5 Distinguish the function declaration and function call.
LO4.6 Explain the general form of a C program.
LO4.7 Define and explain about preprocessor of a program.
LO4.8 Distinguish 2 types of passing parameters to the function call in C program: pass-by-value and pass-by-refe
LO4.9 Describe the structure of the main function and its role in C program.
LO4.10 Discuss about coercion and give illustrative examples.
LO4.11 Discuss about scope of a variable in C program. Explain about local and global variables and their use.
LO4.12 Define a pointer and show how they can be used.
LO4.13 Explain and give illustrative examples for pointer operators: &, *, pointer arithmetic, pointer comparisions.
LO4.14: Draw and explain about memory structure of the program when a function is called
LO5.1 Describe and distinguish 2 types of input: buffered and unbuffered. List some functions for each type.
LO5.2 Show and explain the syntax of the formatted input function: scanf.
LO5.3 Explain and give illustrative examples for format specifiers in the format string of the scanf function.
LO5.4 Explain and give illustrative examples for format specifiers in the format string of the printf function.
LO5.5 List and show the use of some input/output functions other than scanf and printf (gets, putchar, getchar,...)
LO5.6 List and show the use of some popular standard functions in <stdlib.h> (abs,rand,...)
LO5.7 List and show the use of some popular functions in <math.h> (power,sin,cos,round,sqrt,log,exp,...)
LO5.8 List and show the use of some popular functions in <ctype.h> (islower, isupper, tolower, toupper, isalpha, isd

LO6.1 Explain what are arrays in C language and how they can be declared?
LO6.2 Write simple C program using an array.
LO6.3 Explain how to initialize or input data for an array in C program.
LO6.4 Explain how elements of array are passed to a function and therefore answer the question why the array is a
LO6.5 Compare pointers and arrays in C Language and illustrate by practical examples.
LO6.6 Define two dimensional arrays in C Language with practical example using them.
LO6.7 Show how to initialize or input data for a 2-dimensional array.
LO6.8 Explain the syntax for 3 or more dimensional array declaration.
LO6.9 Define parellel arrays and explain their use.
LO6.10 Explain the selection and bubble sorting algorithms and write program to implement them on an array.
LO6.11 Explain the linear and binary search algorithms and write program to implement them on an array.

LO7.1 Explain what are strings in C Language.


LO7.2 Find out the similarity and difference between a string and array of characters.
LO7.3 List and explain functions that is used to input a string and give illustrative examples.
LO7.4 Explain the use of string functions: strlen, strcpy, strcmp, strcat and give illustrative examples.
LO7.5 Show how the string array is declared and initialized.
LO7.6 Explain how to declare and call a function having string array parameter. Give illustrative examples.
LO7.7 Explain how to sort the array of strings and write program to implement it.

LO8.1 Descibe what file is and how it is stored on secondary storage.


LO8.2 Demonstrate the fundamental unit of a file and ended mark.
LO8.3 Explain the two types of a file: binary format and text format. Show the differences between them.
LO8.4 Explain and give examples for a file accessable randomly and a file accessable sequentially.
LO8.5 Explain and show how to used the variable of type FILE to connect and work with a file.
LO8.6 Explain the use of fopen and fclose functions. Create examples to illustrate them.
LO8.7 List and show the functions for writting to and reading data from a text file (fprint, fputs, fscanf, fgets...).
Back to Syllabus-New APPENDIX 1: COURSE SCHEDULE

ITU levels
Learning (I= Introduce, T = Student's task
Slot Content before class
Outcomes Teach,
U = Utilize)

Course Introduction
1 IT
Getting/Installing Programming Tool
read
Module A: Introduction to C LO1.x 1) text book & 2)
programming language btp100
2
Languages and C Compilers
Introduction to Assignment

Module B: Computations
Variables
3 Basic Memory Operations IT
Expressions LO2.x read 1) and 2)
Workshop 1

4 Basic Computations (contd.) TU

Workshop 1 Evaluation
Module C: Logic constructs:
5 IT
Logic constructs
Workshop 2
LO3.x read 1) and 2)
Basic Logics (contd.)
6 TU
Logic constructs

Basic Logics (contd.):


7 TU
Program style

Workshop 2 Evaluation
Module D: Modularity and
Functions
8 Modules IT
C-Functions
Scope of a variable
Workshop 3

9 Module and Functions:(contd.) TU


LO4.x read 1) and 2)
10 Module and Functions:(contd.) TU
Workshop 3 Evaluation
11 Pointers TU
Workshop 4
12 Pointers (contd.)
Review:
13 Pointers are function's parameters IT
Using some C++ Characteristics
Workshop 4 Evaluation
Module E: Libraries
Libraries
14 TU
Input and Validation
Output and Formatting
Workshop 5
LO5.x read 1) and 2)
15 Libraries(contd.)
16 Libraries(contd.)
Progress Test 1
17 Workshop 5 Evaluation U
Review
Module F: Arrays
Arrays
18 TU
Algorithms: Searching, Sorting
Workshop 6 LO6.x read 1) and 2)
19 Contiguous Storage (contd.)
20 Contiguous Storage (contd.)

Workshop 6 Evaluation
Module G: Strings
String Input
21 TU
String Functions
Array of Strings LO7.x read 1) and 2)
Workshop 7

22 Strings (contd.)
23 Strings (contd.)

Workshop 7 Evaluation
Module H: Files:
What is a file?
File Types
24 TU
Accessing data in a file
Connecting to a file LO8.x read 1) and 2)
File Functions
Workshop 8

25 Files (contd.)
26 Files (contd.)
27 Practical Exam
28 Practical Exam Evaluation
Progress Test 2
29
Assignment Evaluation
Workshop 8 Evaluation
30 U
Course Review:
FINAL EXAM
Student's task after
Teacher's Material
class

1) 2) and slide Module A

Study just learned


materials, redo
1) 2) and slide Module B
sample examples
and do workshop 1

Study just learned


materials, redo
1) 2) and slide Module C
sample examples
and do workshop 2

Study just learned


materials, redo
sample examples
and do workshop 3

1) 2) and slide Module D

Study just learned


materials, redo
sample examples
and do workshop 4
Study just learned
materials, redo
sample examples
1) 2) and slide Module E and do workshop 5

Study just learned


materials, redo
1) 2) and slide Module F
sample examples
and do workshop 6

Study just learned


materials, redo
1) 2) and slide Module G
sample examples
and do workshop 7

Study just learned


materials, redo
1) 2) and slide Module H
sample examples
and do workshop 8
Back to Syllabus APPENDIX 2: ASSESSMENT STRUCTURES
Evaluation Type of Number of Scope of knowledge and
# Duration How? Note
Category questions questions skill of questions

W1: LO2
W2: LO3
Teachers support
practical W3,4: LO4
tutorials and A workshop will be evaluated at the
1 Workshop at home exercises W5: LO5
students do them beginning of the next lesson
W6: LO6
by themselves
W7: LO7
W8: LO8

Individual or team
a problem problem(s) to solve by work, guided by
2 Assignment at home similar to programming using LO2 - instructor,
real one LO8 submission by a
given deadline

PT 1
Progress test must be taken right after
LO1 - LO4
15-30 the last lectures of required material.
essay or PT 2 supervised by
3 Progress test 20'-40' if multiple
multiple choice LO5 - LO8 instructor
choice Instructor has responsibility to review
Number of questions:
the test for students after graded.
3-8 for each LOx

Preferable to problem(s) to solve by supervised by


4 Practical Exam 85' be marked by 1-2 problems programming using LO2 - proctor(s) sent by Automatic or manual evaluating
scripts LO7 exam board

614128536.xls
questions distribution:
LO1.x: 2 - 3
LO2.x: 5 - 10
LO3.x: 8 - 10
LO4.x: 8 - 10
LO5.x: 5 - 8
supervised by
multiple LO6.x: 5 - 8
5 Final exam 60' 50 proctor(s) sent by
choice LO7.x: 5 - 8
exam board
LO8.x: 2 - 4

more than 70% new


questions (for the current
semester);

614128536.xls

You might also like