## An Assessment of Methods of Teaching Computer Courses to Computer Science Students

**What Is Computer Science **

I am a *computer* scientist. It is probably fair to say that most people know what *computers* are, but not many are aware of what *computer science* is all about. This is partly due to the fact that *computer science* is a very young discipline. On this age, I will attempt to explain my view of *computer science*.

Let me begin by explaining what *computer science* is not it is not knowing which personal *computer* to buy. It is not knowing five different programming languages or seven spreadsheet programs. It is not about how to design cool web pages. Some *computer* scientists know some or all of these things, but at best they are only side effects of their training. *Computer science* is the study of algorithms. An algorithm is a finite sequence of steps, which when followed exactly, leads to the solution of a specific problem. An exact analogy is that of a recipe. The problem is that you need a particular type of food. If you follow the recipe exactly, then you should end up with something edible. The ingredients for the recipe are like the data used by an algorithm, the cook is like the *computer*, and the author of the recipe is like a *computers* programmer. We *computer scientists* are interested in computers because they are capable of carrying out algorithms. (perhaps we should be called Algorithmologists instead)

**CORE SUBJECT AREAS OF COMPUTER SCIENCE **

What do we need to be able to run algorithms on a *computer*? Well, we need to be able to formulate the algorithms, we need to write down these algorithms in way the *computer* can understand them (a program), we need a way to run the programme on the *computer* ( an operating system), and we need the *computer* itself. This leads us to the core subject areas science.

1. **Theory of computation **

in this subject, problem are categorized according to the nature of algorithms to solve them. Some problems have fast algorithms, some have only very slow algorithms (such problems are considered hared or sometimes intractable), some have no algorithms (like the halting problem).

**Algorithms and Data Structures**

** **this subject studies specific algorithms and associated data structures for solving specific problems. Part of this involves mathematical analysis to rate algorithm efficiency in the use of time and memory.

**Programming Language**

** **the *computer* understands instructions only on a very primitive level, called machine code (normally in binary). Humans do not work with machine code easily. In the 1960’s the first programming language, Fortran, was designed and a special program, called a compiler, was written for the purpose of translating Fortran programmes into binary code. Humans can now express their algorithms in a programming language, like Fortran or C++, and use a compiler to translate it to machine code in order for it to run. The goal of the subject area of programming languages is to design better and more natural programming languages and faster and more efficient compilers.

**Operating Systems**

** **An operating system provides an Environment for developing and running programmes. Examples include windows 95, MacOS , Unix, and VMS. This subject area involves the design and implementation of new better operating system.

**Computer Architecture**

** **the goal of this subject area is to design and build better and faster *computers*. This includes the CPU, memory, I/O systems, the bus, and alternative architectures such as multiprocessors.

All of these areas have aspects that are mathematical. Here are a few examples: we prove theorems in Theory of Computation; we perform mathematical analysis in the Algorithms area; we use automata theory in programming language and compiler design; we use statistics and mathematical analysis in fine-tuning an operating system; and we also use logic in the construction of *computer* hardware. Also, the construction of large softwar3 systems like compilers and operating systems is an engineering problem (that is, **software engineering).**

As a result, computer science may find itself as part of a mathematics department or as part of an electrical or *computer* engineering department. It may also stand as its own department in an arts and sciences college (like at Butler) or in an engineering college).

**Additional Subject Areas of Computer Science **

** **In addition to the core subject areas I mentioned above, there are a number of additional application subject areas that have traditionally been considered part of computer science:

- Artificial Intelligence
*Computer*Graphics- Database Management Systems
- Ethics and Social Concerns
- Networks
- Numerical Methods
- Performance Modeling
- Robotics
- Symbolic
*Computer*

**GOAL FOR COMPUTER SCIENCE MAJOR. **

A majority of *computer* *science* majors graduating from polytechnics will work with development of advanced *computer* based systems, in industry, consulting companies and bodies of the government. A minority of them will work with development of systems software, hardware/software design on the systems level, teaching, and with basic or applied research in *computer science* or (applied) mathematics. It is the purpose of the education to enable the student to succeed in his/her professional career, which takes p lace in the context of a rapidly changing technology. In order to succeed in this work, the student must have certain knowledge, skills and attitudes.

A knowledge and skills (general)

One main objective of the education is to provide the intellectual foundations for future professional development. A cornerstone in this is mathematical reasoning. It is essential that the student should be familiar with basic concepts of mathematical areas. In particular (s) he should be comfortable with the concepts of mathematical theorem and proof.

A somewhat orthogonal but equally important goal is to prepare the student in order to function well in cooperation with colleagues of different or similar backgrounds. On a more detailed level the student should:

- Understand and freely use basic algebra and analysis.
- Understand and freely use basic reasoning in mathematical statistics and probability theory.
- Get an understanding for which mathematical problems should be attacked by analytical methods and which should be attacked by numerical methods. To understand and freely use methods from numerical analysis.
- Understand the significance of mathematical models; an approximation of reality used to better analyzes reality.
- Be able to formulate and solve problems. Be able to differentiate between problems that are mathematically well define and problems that are not mathematically well defined.
- be able to read scientific and professional journal in areas of applied mathematics and
*computer science*. - Be competent in identifying and using inherent patterns and possibilities of abstraction in the problem, model and implementation domain.
- Be able to successfully communicate (both verbally and in writing) in English with colleagues of various backgrounds.
- To know methods for organizing projects and enterprise.

**B Knowledge and Skills (special)**

Of course it is of central importance to prepare the student inside his/ her major special, i.e about various aspects of *computers*. There are again two important components. First the student should master the current technology, but secondly, and perhaps even more important, the student should be ready to adsorb new technology. In particular the student should:

- Be competent in methods fro software analysis, design and implementation. Master contemporary programming methods and systems. To correctly assess the difficulty of a problem and to evaluate alternatives.
- Be familiar with discrete and continuous optimization (both in theory and practice) and numerical software.

- Be able to communicate with applications about software. Be able to formulate and understand requirements on software, and argue or assess the fulfillment of them in particular cases, using different methods and different levels of precision and formalization.
- Understand methods for user instruction and documentation, and being able to choose a suitable level in each case.
- Be skilled in understanding, evaluating, and using tools for software development, operating systems, languages, programming environments, data base systems, communication software, user interfaces.
- Have an understanding of computer architecture.
- Be familiar with the use of testing in all relevant stages of development.
- Have a general understanding about the life cycle of a
*computer*application.

**C Attitudes **

Apart from acquiring certain skills it is important that the student also acquires certain attitudes. In particular the following attitudes are important:

- Ability to tackle new and difficult problem creatively.
- interest in learning and introducing/implementing new software technology.
- To understand that developments in computer science will make new applications profitable and new methods viable.
- Ability to present own ideas and work convincingly and honestly.

—This article is incomplete———–This article is incomplete———— It was extracted from a well articulated quality Project, Research Work/Material

Topic:

**“AN ASSESSMENT OF METHODS OF TEACHING COMPUTER COURSES TO ***COMPUTER SCIENCE* STUDENTS IN SELECTED **NIGERIAN POLYTECHNICS**.**”**

To get the full report pay a token of 3,000 naira to the following account

**BANK: ECOBANK**

**ACCOUNT NAME: ODUNUKWE RAPHAEL CHIEMEKA**

**ACCOUNT NUMBER: 4831029253**

Immediately after the payment send your name, topic of interest, e-mail address, teller number and location to the following phone number: **07035282233**

**Email: ralphemeka@gmail.com**

The full report will immediately be forwarded to you.

GOD BLESS

Related projects

Perceptions of School Guidance and Counselors on the Efficacy of Guidance Services in Reducing Behaviour Problems in Secondary Schools in Ebonyi State |

**———–THIS ARTICLE IS NOT COMPLETE————**

To purchase complete Project Material, Pay a token of **N3, 000** to our bank accounts below:

**BANK NAME: ECOBANK **

**ACCOUNT NAME: ODUNUKWE RAPHAEL CHIEMEKA **

**ACCOUNT NUMBER: 4831029253**

**OR**

**BANK NAME: FIRSTBANK **

**ACCOUNT NAME: ODUNUKWE RAPHAEL CHIEMEKA **

**ACCOUNT NUMBER: 3092548117**

After paying the sum of **N3, 000** into any of our bank accounts, send the below details to our Phone: **07035282233**

- Your Depositors Name
- Teller Number
- Amount Paid
- Project Topic
- Your Email Address

Send the above details to: 07035282233 AFTER payment. We will send your complete project materials to your email 30 Mins after payment.

uniprojectsearch.com will only provide papers as a reference for your research. The papers ordered and produced should be used as a guide or framework for your own paper. It is the aim of uniprojectsearch.com to only provide guidance by which the paper should be pursued. We are neither encouraging any form of plagiarism nor are we advocating the use of the papers produced herein for cheating.