Skip to main content
nounstudy
CIT217

Foundation of Sequential Program

  • Sciences
  • 200 level
  • 2 credit units
  • 145 pages
  • 21 units

This course introduces the fundamental principles of programming languages and their relationship to computer architecture. It explores program structures, the evolution of programming languages, and basic computer architecture, including data storage and representation. The course also covers computer instruction formats, data operations, block-structured programming, and the specification and translation of programming languages. The aim is to equip students with the basic knowledge needed to understand program design principles.

About this course

Difficulty
Intermediate
Study hours
120 hours
Maths
Basic
Content
Theoretical, problem solving
Practical work
No
Before you start
  • Basic computer literacy
  • Introduction to Computer Science
How it is assessed
  • Assignments
  • Tutor marked assignments
  • Final examination

One paragraph, so you can see how it reads

CIT217 · UNIT 1: PRINCIPLES OF PROGRAMMING

There are of two types of assignments: the Self-Assessment Exercises and the Tutor-Marked Assignments. The self-assessment exercises will enable you monitor your performance by yourself, while the tutor- marked assignments will be supervised. The assignments take a certain percentage of your total score in this course. The tutor-marked assignments will be assessed by your tutor within a specified period.

What you should be able to do

  1. Explain the relationships between high-level languages and computer architecture.
  2. Describe how different data is stored inside the computer as bit patterns.
  3. Understand the application of logical and shift operations.
  4. Distinguish between different programming language paradigms.
  5. Explain what is meant by programming language specification.
  6. Describe subprograms and explain basic terminologies.
  7. Describe a compiler and explain different phases of compilation.
  8. Describe an interpreter and state its advantages and disadvantages.

What it prepares you for

Careers
  • Software Developer
  • System Analyst
  • Computer Programmer
  • Software Engineer
  • Database Administrator
Where it is applied
  • Software Development
  • IT Infrastructure
  • Data Management
  • Cybersecurity
  • Web Development
Tools
  • Assemblers
  • Compilers
  • Interpreters

Where it gets hard

The units students slow down on, and what makes each one heavy.

  • Module 2:

    Unit 2: Data Storage in Computer

    Understanding the different ways data is stored (unsigned, sign-and-magnitude, two's complement) requires careful attention to bit manipulation and representation.

  • Module 2:

    Unit 3: Operations on Data

    The concepts of logic gates and their application in performing operations on bit patterns can be challenging due to the abstract nature of the material.

  • Module 2:

    Unit 4: Machine Instructions

    Understanding different addressing modes and instruction cycles requires grasping the interplay between hardware and software.

A suggested way through it

Suggested

13 weeks, about 30 hours in total. Yours will differ.

  1. Week 1Module 1:
    • Unit 1: Principles of Programming · 2 hours

      Understand the definition of programming and its importance.. Learn the steps involved in program design and specification.. Explore the concept of sequential programming and its structures.. Identify and write basic programs using variables and constants..

  2. Week 2Module 1:
    • Unit 1: Principles of Programming · 2 hours

      Continue studying Unit 1: Principles of Programming. Practice designing simple algorithms using sequence structures.. Review examples of sequential programs and their components..

  3. Week 3Module 1:
    • Unit 2: Evolution of Programming Languages · 2 hours

      Understand the uses of different number bases in computing.. Practice converting between decimal, binary, octal, and hexadecimal number bases.. Explore the evolution of programming languages from machine language to high-level languages..

  4. Week 4Module 1:
    • Unit 2: Evolution of Programming Languages · 2 hours

      Continue studying Unit 2: Evolution of Programming Languages. Research the history and development of specific programming languages.. Compare the advantages and disadvantages of low-level and high-level languages..

  5. Week 5Module 2:
    • Unit 1: Basic Machine Architecture · 2 hours

      List the subsystems of a computer and their interconnections.. Understand the hierarchical nature of computer systems.. Describe the role of the central processing unit (CPU) and memory in a computer..

  6. Week 6Module 2:
    • Unit 1: Basic Machine Architecture · 2 hours

      Continue studying Unit 1: Basic Machine Architecture. Compare and contrast the Von Neumann and system bus models.. Explain the functions of the processor and its components..

  7. Week 7Module 2:
    • Unit 2: Data Storage in Computer · 2 hours

      Describe how different data types are stored as bit patterns.. Understand how integers are stored using unsigned, sign-and-magnitude, and two's complement formats.. Explore how real numbers are stored using floating-point format..

  8. Week 8Module 2:
    • Unit 2: Data Storage in Computer · 2 hours

      Continue studying Unit 2: Data Storage in Computer. Learn how text, audio, images, and videos are stored in a computer.. Practice converting between different data representations..

  9. Week 9Module 2:
    • Unit 3: Operations on Data · 2 hours

      Perform unary and binary logic operations on bit patterns.. Distinguish between logical shift operations and arithmetic shift operations.. Perform logical shift operations on bit patterns..

  10. Week 10Module 2:
    • Unit 3: Operations on Data · 2 hours

      Continue studying Unit 3: Operations on Data. Perform addition and subtraction on integers stored in two's complement format.. Understand applications of logical and shift operations, such as setting, unsetting, and flipping specific bits..

  11. Week 11Module 2:
    • Unit 4: Machine Instructions · 2 hours

      Explain the composition of machine language instruction format.. Understand the part of the instruction format that deals with specifying the address of operands.. Explain the different methods of specifying the address format..

  12. Week 12Module 2:
    • Unit 4: Machine Instructions · 2 hours

      Continue studying Unit 4: Machine Instructions. Understand how to implement high-level statements in different address formats.. Explain the cycle through which the processor executes each instruction..

  13. Week 13Module 3:
    • Unit 1: Block Structured Languages · 3 hours

      Understand what is meant by programming language paradigm.. Distinguish between four computer programming language paradigms.. Describe subprograms and explain some of the basic terminologies in subprograms..

    • Unit 2: Specification and Translation of Programming Languages · 3 hours

      Explain what is meant by programming language specification.. Explain the forms of programming language specification.. Describe a compiler and explain different phases of compilation..

Preparing for the exam

What to do
  • Review all unit objectives and ensure you can meet them.
  • Practice converting between different number bases (binary, decimal, hexadecimal).
  • Study the different instruction formats and addressing modes.
  • Understand the phases of compilation and the role of each phase.
  • Create concept maps linking programming paradigms, language specification, and translation.
  • Solve practice problems related to data storage, logic operations, and arithmetic operations.
  • Focus on understanding the differences between compilers and interpreters.
  • Review all Tutor-Marked Assignments (TMAs) and their solutions.
  • Allocate specific time slots for each topic based on its complexity and weightage.
  • Use online resources and forums to clarify any doubts or difficult concepts.

Questions students ask about this course

What is CIT217 about?

This course introduces the fundamental principles of programming languages and their relationship to computer architecture. It explores program structures, the evolution of programming languages, and basic computer architecture, including data storage and representation. The course also covers computer instruction formats, data operations, block-structured programming, and the specification and translation of programming languages. The aim is to equip students with the basic knowledge needed to understand program design principles.

How many units does CIT217 have?

CIT217, Foundation of Sequential Program, has 21 units across 3 modules, over 145 pages of course material. You can read it one unit at a time.

How many credit units is CIT217?

CIT217 carries 2 credit units, at 200 level in Sciences.

Is CIT217 hard?

CIT217 is rated intermediate level, with basic mathematical content. It is mostly theoretical and problem solving work.

How long does CIT217 take to study?

About 120 hours of study, spread across its 21 units.

How is CIT217 assessed?

CIT217 is assessed by assignments, tutor marked assignments and final examination.

What do I need before starting CIT217?

Basic computer literacy Introduction to Computer Science

What can I do with CIT217?

Software Developer, System Analyst, Computer Programmer, Software Engineer and Database Administrator.

More courses in Sciences

CIT246

Introduction To Computer Organisation

2 credit units

Open CIT246
STT206

Statistics For Management Sciences Ii

3 credit units

Open STT206
CIT215

Introduction to Programming Language

3 credit units

Open CIT215