Programming Paradigms CSI2120: Jochen Lang EECS, University of Ottawa Canada
Programming Paradigms CSI2120: Jochen Lang EECS, University of Ottawa Canada
Paradigms
CSI2120
Jochen Lang
EECS, University of Ottawa
Canada
Course Syllabus
• Complete syllabus at
http://www.eecs.uottawa.ca/~jlang/csi2120.html
• Assignments
– There will be four programming assignments which must be
submitted via Virtual Campus. No other form of submission
will be accepted.
– Late hand-ins will NOT be accepted.
– All assignments and labs will be posted on Virtual Campus.
• Academic Fraud and Plagiarism
– Any copying in an assignment will result in an automatic zero
for the assignment (we will check with a software tool).
– For any plagiarism or fraud possible university sanctions still
apply.
• Paradigm:
“a theory or a group of ideas about how something should be
done, made, or thought about" (Merriam-Webster, accessed
Jan, 2014).
• Computer Programming:
" Computer programming … is a process that leads from an
original formulation of a computing problem to executable
computer programs. (Wikipedia, accessed Jan, 2018).
• A Programming Language
" is a formal language that specifies a set of instructions that
can be used to produce various kinds of output. Programming
languages generally consist of instructions for a computer.
Programming languages can be used to create programs that
implement specific algorithms. “(Wikipedia, accessed Jan,
2018).
• A Programmer,
– computer programmer, developer, coder, or software
engineer is a person who writes computer software. "
(Wikipedia, accessed Jan, 2018).
Source: US Army
• Imperative paradigm
– views program as a sequence of commands which change
the state of the program
– Prominent example language: C
• Object-oriented paradigm
– Solution is described by a set of classes providing
encapsulation.
– Class relationships include inheritance and message
passing.
– Polymorphism
– Prominent example language: Java
object-oriented
logic
concurrency