Computer Hardware, Software, Networks

Computer Hardware, Software, Networks - Open Courseware and Resources (menus in left sidebar).

To expand a page or post a comment on it, click on the red-colored
heading in the white box or on 'read more'.

 

Computer

- machine that manipulates data according to a list of instructions - Wikipedia.

Software

- collection of computer programs, procedures and documentation that perform some task on a computer system - Wikipedia.

Computer Network

- interconnection of a group of computers - Wikipedia.

Computer Language Engineering

implementation of high-level programming languages, fundamental concepts, functions, and structures of compilers, basic program optimization techniques, interaction of theory and practice, using tools in building software: readings, projects, related resources
 

Machine Structures

internal organization and operation of digital computers: Machine architecture, support for high-level languages (logic, arithmetic, instruction sequencing) and operating systems (I/O, interrupts, memory management, process switching), Elements of computer logic design, Tradeoffs involved in fundamental architectural design decisions

Programming Courses

  • Introduction to Symbolic Programming - Functions, Expressions and Procedures, Words and Sentences, BooleansRecursion, Higher Order Functions, Lambda, Input/Output, Lists, Trees, Fractals, Box and Pointer Diagrams
  • Structure and Interpretation of Computer Programming - Functional Programming, User Interfaces, Programming Methodology, Building Abstractions with Data, Representing State, Social Responsibility, Evaluators, Logic Programming
  • Data Structures and Advanced Programming - Object Oriented Programming, Testing, Data Structures, Algorithms, Asymptotic Analysis, Sorting, Garbage Collection

Scientific Computing with Python

basic constructs of the language and how to do basic numerical analysis, SciPy library, scientific plotting, advanced topics in scientific computing such as integrating Python with other languages and parallel programming

Programming Methodology

engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing, Java programming language, Emphasis on good programming style and the built-in facilities of the Java language

Computer Graphics (43 lectures)

Display Devices, Transformations in 2D, Three Dimensional Graphics, Projection Transformations And Viewing Pipeline, Scan Converting Lines, Circles And Ellipses, Polyfill- Scan Conversion Of A Polygon, Clipping - Lines And Polygons, Solid Modelling, Visible Surface Detection, Illumination And Shading, Curves And Surface Representation, Graphics Programming, Anti Aliasing, Color, Soft Objects, Animation, Visual Effects, System Architectures, Digital Image Processing

Network security

factors that affect the security of networks and data communications, implications for users, basic types of security service and their components, indicate how these are applied in networks: Terminology and abbreviations, Background to network security, Threats to communication networks, Principles of encryption, Implementing encryption in networks, Integrity, Freshness, Authentication, Access control

Modelling object-oriented software

first steps in modelling a software system, requirements specification, how to analyse the requirements document to arrive at an understanding of how the proposed software system will be structured: Developing the conceptual model, Classes, Associations, Modelling events, Invariants, Derived attributes and associations, Conceptual models, Glossary

Syndicate content