Você está na página 1de 9

COURSE OUTLINE/ACADEMIC TERMS OF REFERENCE FOR:

Programming for Engineers 214 (PFE610S )

Course Home Department: Electrical and Computer Engineering

Liaison Department (for service course): Electrical and Computer Engineering


Mechanical and Marine Engineering

Effective Date: 06 February 2019

Year of study/Semester: 2nd Year, Semester 1

Course Outline Version No: 1

Lecturer Information:
Name: Ms Aili Shigwedha
Email: ashigwedha@nust.na
Office phone: (061) 207 2664
Office location: F26, Engineering Building
Office hours: 07h30 – 16h30
Consultation hours: Mon (11h30-12h30), Tue (07h30-08h30), or by appointment only

Lab. Technician/Tutor Information:


Name: Ms. Shilongo A. Amupolo
Email: samupolo@nust.na
Office phone: (061) 207 2247
Office location: F56, Engineering Building
Office hours: 07h30 – 16h30
Consultation hours: Refer to Ms. Amupolo’s Timetable

PFE610S Course Outline 2019-Final9


1
1. INTRODUCTION

This course aims at equipping the student with fundamental knowledge of and insight in
developing, analysing, and implementing common engineering solution algorithms. The course
introduces basic data types, control structures, functions, and object-oriented programming
techniques, including coding, debugging, testing and execution of applications using any modern
high-level programming language. The course will thus enable the student to acquire sound
knowledge of basic computer programming concepts.

2. COURSE DATA

Pre-requisite(s): Computing for Engineers 114 (CEN510S)

Duration: 4 hours per week

Self-Study Hours: 40

Notional Hours: 120

NQF Level: 6

NQF Credits: 12

Professional Role:
After successfully completing this course, the student should be able to demonstrate competence
in designing, analysing, and implementing basic algorithms using high-level programming
languages to solve engineering problems.

Knowledge Areas:
Classification of Knowledge Basic Complimentary Computing & Engineering Engineering Mathematical
Areas Sciences Studies Information Design & Sciences Sciences
(Weighted by Percentage) Technologies Synthesis
50% 10% 10% 30%

Exit Level Outcomes:


1 2 3 4 5 6 7 8 9 10
Proble Application Engineerin Investigations Engineerin Professional & Impact of Individual, Independent Engineering
m of Scientific g Design , Experiments g methods, Technical Engineerin team & learning Professionalis
Solving & & & Data Skills, Communicatio g Activity multidisciplin ability m
Engineerin Synthesis Analysis Tools & n ary working
g Information
Knowledge Technology
XX X X XX X XX
NB: Contribution of course to ELO: X – Minor; XX – Significant; XXX – ELO examined.

Assessment Summary:
Diversified Continuous Evaluation Components Assessment component Individual Total
Weight (%) Weights (%)
 A minimum of three (3) Examinations Examinations 20 60
 A minimum of one (1) group Mini-Projects Mini-Projects vary 20
 A minimum of two (2) Labs/Tutorials/Assignments Labs/Tutorials/Assignments vary 20

Minimum pass requirement for this course: 50% Total 100%

2
Learning Outcomes:
After successfully completion of this course, the student should be able to:
 Apply program design techniques to develop solution algorithms.
 Design and specify algorithms in pseudocode and/or flowchart syntax.
 Analyse the effectiveness of simple solution algorithms and programs.
 Convert computational problems into a series of easily managed steps.
 Use a modern high-level programming language as a medium for the development of
software solutions to solve engineering and mathematical problems.
 Understand and apply fundamental object-oriented concepts.
 Process numerical data, and perform input and output operations on the data using industry
standard computational software.

Course Contents:
This offering will cover the following topics in depth:
 Introduction to Programming
 Introduction to Algorithm Development and Analysis
 Introduction to Programming Fundamentals using Python programming language
 Introduction to basic Object-Oriented Concepts
 Introduction to basic numerical computation using MATLAB

3. CONTENT OUTCOMES

3.1. Introduction to Programming


3.1.1 Discuss the importance of computer programming
3.1.2 Explain the difference between low-level and high-level programming languages
3.1.3 Discuss the basic software development process
3.1.4 Discuss the debugging process and differentiate between syntax, runtime, and
semantic errors

3.2. Algorithm Development and Analysis


3.2.1 Define an algorithms and discuss steps in developing solution algorithms
3.2.2 Introduce the use of pseudocodes or flowchart diagrams to describe an algorithm
3.2.3 Construct and analyse algorithms that use the following control structures:
 Sequence control structures
 Selection structures
 Repetition structures
3.2.4 Develop algorithms to solve engineering problems using combinations of sequence,
selection, and repetition constructs

3.3. Introduction to Programming Fundamental using Python


3.3.1 Provide an overview of Python programming language
3.3.2 Introduce basic data types, constants, values and variables
3.3.3 Discuss arithmetic, relational and logical operations
3.3.4 Discuss fundamental control structures such as:
 The if, if-else, and nested if statements
 The switch statement
 The while, do-while and for loop
 The nested loops
3.3.5 Explain the concepts of function and modules
3.3.1 Introduces the concepts of sequences (lists, tuples, and sets)
3.3.2 Discuss methods of accessing and processing sequences

3
3.4. Object Oriented Programming Concepts
3.4.1 Discuss object-oriented programming (OOP) model
3.4.2 Introduce the concepts of objects, classes, and methods
3.4.3 Discuss constructors and constructor overloading concepts
3.4.4 Discuss methods and method overloading concepts
3.4.5 Explain the concept of encapsulation and inheritance

3.5. Programming in MATLAB


3.5.1 Provide an introduction to MATLAB and its environment.
3.5.2 Explain data structures in MATLAB including vectors and matrices
3.5.3 Discuss branching, loops and functions in Matlab
3.5.4 Introduce useful functions in MATLAB (e.g. plotting)
3.5.5 Introduce script files in MATLAB

4. LEARNING STRATEGY

This course shall be presented as a series of lectures, laboratory work, tutorials, quizzes, as well
as class and group exercises/mini-projects. Use will be made throughout of notes, power-point
presentations, and the prescribed textbook, and practical components to illustrate theoretical
concepts.The main approach will be for the student to obtain theoretical knowledge and investigate
the practical applications of these concepts.
4.1. Lectures: During lectures, the lecturer presents the theoretical concepts of the course to the
students.
4.2. Tutorials and Quizzes: During tutorials or quiz session, the students under the guidance of
the lecturer/tutor practice the application of the theory presented in lectures to clarify areas of
weakness and deepen the use of analysis tools to be applied in the assignments and
exercises.

4.3. Laboratory Exercises, Tasks and Mini-Projects: During laboratory/tasks/projects sessions,


the students carry out a series of investigatory activities designed to verify theoretical concepts
or some phenomena by collecting the relevant data, analysing the data, drawing conclusions
and reporting their findings and conclusions in either ‘long (formal) reports’ or a ‘short reports’.
4.4. Self-study: During self-study sessions the students on their own and in their own time study
practise what was learnt during lectures, tutorials and practical sessions in order to become
conversant with the concepts.
4.5. Feedback: During feed-back sessions students receive feed-back from the lecturer based on
information obtained during his/her assessment of student work that was previously submitted
for marking.
4.6. Consultations: Students are free to consult with the lecturer during consulting times or via
or make appointments with the lecturer during working hours to seek further clarification of
concepts covered but that are not well understood.
4.7. Communication outside of the normal classroom will involve any or all of the following modes:
Email, Student server, E-Learning platform (Moodle), and Notice boards.
4.8. A register of attendance shall be maintained, and students are expected to attend at least
80% of contact sessions. (See section AC3 of the current Yearbook, Part 1: General
Information and Regulations’). Attendance to laboratory practical sessions and tutorials is
compulsory.

5. COURSE ASSESSMENT

The assessment strategy in this course is based on the ‘continuous and diversified
assessment’ system of evaluation. The following assessment categories are scheduled:

4
5.1. Examinations:
 The first examination covers all the work completed since the start of the semester and
the end of the week preceding the week in which the first examination is scheduled.

 The second examination covers all the work completed since the first examination was
done up to the end of the week preceding the week in which the second examination is
scheduled.

 The third examination (if need be) covers all the work completed since the second
examination, and end of the week preceding the week in which the third examination is
scheduled.

 The Namibia University of Science and Technology (NUST)’s examination conditions


shall apply.
5.2. Mini-Projects:
Students will be involved in group projects that will run during the course offering. These
projects will involve the mapping of an engineering problem to the computer and solving it.

The mini-projects will be carry-home/library assignments in which students shall be expected


to do some thorough literature review/revision in order to work out the correct solutions. It shall
be expected that each group will work out their solutions without any assistance from anybody,
but rather resolve the problems through their own literature review.

5.3. Laboratory Practical Exercises:


Laboratory practical exercises have to be performed individually in a pre-timed setting, lasting
one to two hours. Typically, these constitute programming exercise whereby a student have
to derive a solution to an engineering problem.

5.4. Tutorials, Tasks, and Quizzes:


At the end of certain lectures, the lecturer might give an unannounced task or quiz to evaluate
the progress of the students. In case of tutorial, these shall be done in a tutorial setting either
for the whole 2-hour tutorial duration or the last 1 hour of a 2-hour tutorial session.

5.5. In order to pass this course, a student must at least,


5.5.1. Obtain an average of at least 50% in all examinations
5.5.2. Obtain an average of at least 60% in all other assessments
5.5.3. Obtain an overall average of at least 50% in all course assessments

5.6. General Academic and Supplementary Policies:

General Academic Regulations:


It is the student's responsibility to be familiar with and adhere to Namibia University of Science
and Technology’s Academic Regulations and policies. These policies can be found in the
NUST’s relevant Yearbooks or online at ‘http://www.nust.na’

5
Supplementary Regulations:
This offering makes use of the ‘continuous and diversified assessment’ system of
evaluation (CASS) as indicated below:

1. A student will have to appear for three compulsory examinations within the semester. These
examinations will be referred to as ‘First-opportunity Examinations’.

2. A student who fails and/or misses any or all of the first-opportunity examinations
scheduled in this course, during the semester, will be allowed to write only one
supplementary examination towards the end of the semester. The supplementary
examination will be administered in the most convenient way as outlined by the course
lecturer.

3. The supplementary examination is also open to those who wish to improve their marks. In
either case, the marks obtained in the relevant section(s) of the supplementary examination
will be used to replace the marks obtained in the corresponding attempted, missed and/or
failed first-opportunity examination(s).

4. The supplementary examination will be set on the whole syllabus of the course but it will be
divided into a number of sections corresponding to the number of examinations scheduled
in this course. The topics covered in each section of the supplementary examination will be
the same as those topics covered in the corresponding first-opportunity examination.

5. A student taking the supplementary examination will be allowed to attempt only those
sections which correspond to the failed first-opportunity examinations up to one (1) less
than the number of scheduled first-opportunity examinations in this course.

NOTE: This means that if three first opportunity examinations were administered, the student is only allowed to supplement a
maximum of two sections of the supplementary examination (i.e. only up to two second opportunity examinations allowed).

6. No supplementary assessments will be given for failed laboratory exercises, min-projects,


quizzes, tasks, or tutorials.

6
6. WORK PROGRAM

EVENTS
WEEK DATE SECTION Examinations Projects/Labs/Tutorials… Notable Events
1 06/02 - 08/02 3.1
2 11/02 - 15/02 3.2
3 18/02 - 22/02 3.2 Lab 1
4 25/02 - 01/03 3.2 Tutorial 1
5 04/03 - 08/03 3.3
6 11/03 - 15/03 3.3 EXAM 1
7 18/03 - 20/03 3.3 Lab 2
21/03 Public Holiday: Namibia Independence Day (21/03)
22/03
8 25/03 - 29/03 3.3 Lab 3
9 01/04 - 05/04 3.3 Tutorial 2
10 08/04 - 12/04 3.4 EXAM 2
11 15/04 – 18/04 3.4 Lab 4
19/04 – 22/04 Public Holiday: Good Friday (19/04), Easter Monday (22/04)
12 23/04 – 26/04 Mid-Semester Break
29/04 - 30/04 3.4 Lab 5
13 01/05 Public Holiday: Workers Day (01/05)
02/05 – 03/05
14 06/05 – 10/05 3.4 Tutorial 3
15 13/05 – 17/05 3.5 EXAM 3
16 20/05 – 24/05 3.5
17 27/05 – 31/05 3.5 Mini-Project due
18 03/06 – 07/06 2nd
Opp. Examinations

NB: The above dates are tentative and are thus subject to change based on the needs of the students at the lecturer’s prerogative.
Students will be notified ahead of time of any changes.

7
7. PRESCRIBED TEXT BOOK:

6.1. Padmanabhan T.R. (2016). Programming with Python. Singapore: Springer Nature.
6.2. Robertson L.A. ((2007), Simple Program Design: A step-by-step approach. 5th ed. Boston: Thomson Course
Technology.

8. RECOMMENDED READING:
8.1. Lutz M. (2013). Learning Python, 5th ed. USA: O’Reilly Media Inc.
8.2. Swaroop C.H. (2006). A Byte of Python. 4th ed. Boston: Prentice Hall
8.3. Wentworth P., Elkner J., Downey A.B., & Meyers C., (2012). How to think like a Computer Scientist: Learning
with Python 3. 3rd ed. South Africa: Rhodes University.
8.1. Palm III,W.J. (2005). Introduction to Matlab 7 for Engineers, USA: McGraw-Hill.
8.2. Chapman, (2008), MATLAB Programming for Engineers. 4th ed. USA: Thompson

This course outline is approved by:

_________________________ ___________
Head – (Home) Department Date

8
(ACKNOWLEDGEMENT BY STUDENT)

(To be completed by all students on the course, detached from the course outline and
kept on record in the department)

I, ……………………………………………………………, of student number: ………………………..,


(Name and surname of student)
hereby acknowledge that I have received the course outline for PFE610S – (Programming for
Engineers 214) and that I have familiarized myself with its content, in particular the statement
about academic honesty and integrity. I agree to abide by the Policies and arrangements spelt out
in the course outline.

………………………………………………… …………………..
Signature of student Date

Você também pode gostar