The October 2008 BCS exams are knocking the door. Its time to use the heavy artillery again….

knock knock

The modules that we are going to nail down this fall are: 1) Software Development and 2) Computer & Network Technology. Let’s talk a bit about the respective module’s tastes….

Software Development

Module Rationale:

Programming, using many styles and languages, provides solutions to a wide variety of scientific, engineering and business problems. Programming is a core skill that will be used throughout a computer practitioner’s career. It is a skill largely acquired by practice and experience. This module introduces candidates to fundamental concepts of programming with the emphasis being laid on the whole of the software development process.

Problem Solving

The first recommended textbook is described below. I think this is an excellent book for those starting to learn problem solving and expressing their solutions in algorithms/ pseudocode which they can later code in any language they want. Simple Program Design: A Step by Step Approach, Fifth Edition is written for inspiring programmers who want to develop good programming skills for solving common business problems. Stressing structured programming and modular design, pseudocode is used as the major program design technique.

simple program design a step by step approach

Author: Lesley Anne Robertson

THOMSON ; (Sep 2006) ISBN: 1423901320 ; ISBN13: 9781423901327

Table of Contents:

1. Program Design

2. Pseudocode

3. Developing an Algorithm

4. Selection Control Structures

5. Repetition Control Structures

6. Pseudocode Algorithms Using Sequence, Selection, and Repetition

7. Array Processing

8. First Steps in Modularisation

9. Further Modularisation, Cohesion, and Coupling

10. General Algorithms for Common Business Problems

11. Detailed Object-Oriented Design

12. Simple Object-Oriented Design for Multiple Classes

13. Conclusion


A: Flowcharts

B: Special Algorithms

C: Translating Pseudocode into Computer Languages-Quick Reference Chart

The lecture notes are found here.

Software Testing

Testing is the process of executing a program with the intent of finding errors.

I enjoyed the psychology of testing and the principles of testing in this book. Chapter 7: Debugging is also very interesting:

Debugging seems to be the one part of the software production process that programmers enjoy the least. One reason:

Your ego may get in the way. Like it nor not, debugging confirms that programmers are not perfect, committing errors in either of the design or the coding of the program.

The Art of Testing is a classical book on software testing and which still has its influence today. Software testing still remains an art. We still don’t know how to make it a science. Most of the testing methods and practices are not very different from 20 years ago. It is nowhere near maturity, although there are many tools and techniques available to use. Good testing also requires a tester’s creativity, experience and intuition, together with proper techniques.

The art of software testing

The Art of Software Testing, Glenford J. Myers, Corey Sandler (Revised by), Tom Badgett (Revised by), Todd M. Thomas (Revised by)

ISBN: 978-0-471-46912-4; 256 pages; June 2004
Another interesting Article: Software Testing;  Authors: Jiantao PanCarnegie Mellon University

Data Structures And Algorithms

The book: Introduction to Algorithms has been recently been added to my bookshelf. After The Art of Computer Programming – Donald Knuth, this is considered to be the best book on Algorithms. The textbook provided an enjoyable introduction to the field of Algorithms.

Data Structures and Algorithms in Java – Goodrich & Tamassia; Handouts can be found on the site.

Here is a very informative web page from The University of Canterbury, on which one can find Java applets that show the operations for primitive data structures such as Stacks, Queues, and Binary Trees and also animations for sorting and searching algorithms.

Development Environment

Visual Studio – a high productivity tool

visual studioBasic Debugging features in Visual Studio 2005

11 Visual Studio 2005 IDE Tips and Tricks to Make You a More Productive Developer

If I had enough time, I would have searched on other development tools like Eclipse, Active State Komodo, NetBeans, Borland Delphi, Codegear RAD studio, Geany (my favourite), MonoDevelop, BlueJ, IntelliJ IDEA.

CSE 1002Y Programming Methodology done during academic year 1 has been also of great help, together with A-level Practical Programming Project (Paper 2). Got the ability to solve problems and express them in Pascal or C++. Development environment for Pascal: Turbo Pascal for windows; C++: Linux GCC and Geany IDE.

Computer and Network Technology Module

Module Rationale

This module provides a foundation for all professional computer personnel in computer technology and related topics, in particular the areas of: number systems, hardware, operating systems, system software, networks and system performance measurement.

Key topics: Use of Boolean Algebra, simplification of logic equations, Sequential logic elements: D flip-flops, RS flip-flops. This post depicts how “difficult” I find these topics, given it is almost blank .

Interesting topics: Trends in processor technology, Memory hierarchy, IO techniques, Future PCs, system performance and evaluation; Revision of Networking (rusted CCNA coming back !), Wi-Fi, Cloud Computing, Security.

Tools for an information Age

Some chapters can be downloaded from here.

Principles of Computer Hardware

Available on the BCS 24X7 library. A very helpful book which covers fundamentals and architecture in detail.

I recently added the book: Computer Networking and the Internet – F. Halsall, a great book on Networks-covers the topic in depth. Also Computer Networks  and Operating systems Design and Implementation- A. Tanenbaum are a must for reading.

Conclusive Note

Well, given I already had my first BCS paper – Information Systems (managed to get an A- ), I have an idea of how to prepare for the coming modules.


You, SD and CT, I am coming to boushoum, boushoum you down!! Wish me Good luck!