Preview

programming

Powerful Essays
Open Document
Open Document
21645 Words
Grammar
Grammar
Plagiarism
Plagiarism
Writing
Writing
Score
Score
programming
NETWORK PROGRAMMING BIT 4206

BIT 4206 Network Programming Course
Outline
Prerequisites: BIT 3102 Network Management
BIT 3201 Object Oriented Programming
Objectives:
• By the end of the course the learner should be able to:
Have knowledge about Unix Technologies (IPC, POSIX threads, Unix file system)
• Be able to develop client-server network applications on the internet, based on UNIX/linux
Course Outline
An overview of C++
Inheritance, Polymorphism, Encapsulation, Templates, Dynamic memory management, handling exceptions Networks and protocols
Circuits vs packets
Internet protocol
The global IP internet
Transmission control protocol
Introduction to Unix

Ports
Ethernets
Internet addresses

Internetworking
OSI model
User datagram protocol

History of Unix
Unix structure
Components of Unix
Unix File Systems
Basic Unix commands: File/Directory commands, Network logins, Backups, Miscellaneous
Important utilities
Programming in Unix/Linux
Unix Technologies
POSIX threads
Creating thread
Terminating a thread
Passing arguments to a thread
Joining and detaching threads
Thread synchronization
Mutex variables
Condition variables
Semaphores
Reader/Writer locks
Thread models
Boss/worker model
1

NETWORK PROGRAMMING BIT 4206

Pipeline model
Background task model
Interface/implementation model
Sockets
Introduction, types of sockets
OSI model
BSD network history
TCP socket programming model
IP addresses (V4, V6)
Subnets
Port numbers
Socket functions: Socket, Bind, Connect, listen, Accept, Send, Recv, Sendto, Recvfrom,
Close, Shutdown
Byte order
Structs
Blocking
Non-blocking
Socket Programming
Client-server programming model
Example client
Example server
Programming project
Required text Books
Stephen R., Fenner B, Rudoff A, (2003) Unix Network Programming volume 1: The Sockets
Networking API (3rd Edition)
Stephens R., (2005) Unix Network Programming, Volume2: Interprocess communications 2nd
Edition

You May Also Find These Documents Helpful

  • Satisfactory Essays

    ISSC340 Week1Assignment

    • 286 Words
    • 1 Page

    2. Describe the function and characteristics of a network operating system (NOS). (Minimum word count: 100)…

    • 286 Words
    • 1 Page
    Satisfactory Essays
  • Satisfactory Essays

    Coding

    • 335 Words
    • 2 Pages

    of any impingements. The camera was then removed from the subacromial space. The area was then infiltrated with Marcaine. The posterior portal was then closed with absorbable sutures and Steri-Strips, and a Mepore dressing was placed on it. The arm was then placed in a sling; the patient awakened and was placed on her hospital bed and taken to the recovery room in good…

    • 335 Words
    • 2 Pages
    Satisfactory Essays
  • Good Essays

    Programming

    • 3038 Words
    • 13 Pages

    2. Each of the flowchart segments in Figure 3-35 is unstructured. Redraw each flowchart segment so that it does the same thing but is structured.…

    • 3038 Words
    • 13 Pages
    Good Essays
  • Good Essays

    Java

    • 490 Words
    • 3 Pages

    Write a Java program to demonstrate using bitmaps and bitwise operators to sort and remove duplicates from a file of random phone numbers. Do not confuse the term bitmap used for compressing data into smaller spaces with the bitmap that has come to mean a graphic image.…

    • 490 Words
    • 3 Pages
    Good Essays
  • Good Essays

    Software Engineering

    • 985 Words
    • 4 Pages

    I have many goals in mind for my life. I want to graduate university, possibly go to graduate school, and obtain a career in which I am happy and satisfied. Yes, I know this sounds very cliché as many people want to obtain this kind of life. I don’t mind obtaining a “normal” happy life as long as I am happy with it. I am familiar with Maslow’s Hierarchy of Needs and I want to make sure I fulfill my lower needs before I start trying to achieve my goals. I have never actually applied the GIOADA process to my decision making in the past. After reading the document that describes the GIOADA process, I will start applying this process to future decisions I make in life. Also, as I look back at some of the big decisions I made previously, I wish I applied the GIOADA process in making these decisions. That would have allowed me to more strongly analyze all the processes of the decision making.…

    • 985 Words
    • 4 Pages
    Good Essays
  • Better Essays

    Software Development

    • 6242 Words
    • 25 Pages

    ABSTRACT Developments in software engineering have led to models of the system life cycle incorporating the use of prototyping and formal methods of program verification. These are becoming supported by integrated project support environments and permit the planning and monitoring of software development projects. In contrast, Knowledge Based Systems (KBS) are developed using informal views of the system life cycle. Tools have been developed to support some stages of the life cycle in an undisciplined manner. The commercial use of KBS needs development projects to be planned and monitored. This requires methods and tools based on systematic life cycle models to be established for KBS. This paper reviews the current state of life cycle approaches to software engineering and KBS development projects in order to provide a direction for the development of methodical KBS life cycle models.…

    • 6242 Words
    • 25 Pages
    Better Essays
  • Satisfactory Essays

    programiing

    • 923 Words
    • 4 Pages

    1: Write a program that creates an array with 26 elements and stores the 26 lowercase letters in it. Also have it show the array contents.…

    • 923 Words
    • 4 Pages
    Satisfactory Essays
  • Powerful Essays

    Computing

    • 6505 Words
    • 27 Pages

    This financial analysis provides a synopsis of the 2007 to 2011 annual reports of Tanzania breweries Limited under SAB Millers. A comparative ratio analysis of financial statement released by the company is carried out with emphasis on profitability, asset management, liquidity, debt management and market value.…

    • 6505 Words
    • 27 Pages
    Powerful Essays
  • Good Essays

    Programming Methods

    • 578 Words
    • 3 Pages

    This assignment gave me the opportunity to computerize a manual membership system of Richard’s Tennis Club using various methods and techniques. The computerization of this system introduced several advantages but also created some limitations.…

    • 578 Words
    • 3 Pages
    Good Essays
  • Powerful Essays

    Unix Network Programing

    • 5507 Words
    • 23 Pages

    W. Richard Stevens, "UNIX Network Programming", Prentice Hall, 1990, (ISBN 0-13-949876-1). A programming book. I'm waiting for a copy, but Stevens is a good writer and this book is recommended by other authors.…

    • 5507 Words
    • 23 Pages
    Powerful Essays
  • Satisfactory Essays

    Java

    • 762 Words
    • 4 Pages

    In the long distant future, in the year 2016, the cable news empire has fallen, and former talking heads have stooped to running for political office. In fact, five former talk show stars are running for President of the United States, and locked in a close race.…

    • 762 Words
    • 4 Pages
    Satisfactory Essays
  • Good Essays

    Programming

    • 3434 Words
    • 14 Pages

    Keyboard shortcuts are combinations of two or more keys that, when pressed, can be used to perform a task that would typically require a mouse or other pointing device. Keyboard shortcuts can make it easier to interact with your computer, saving you time and effort as you work with Windows and other programs.…

    • 3434 Words
    • 14 Pages
    Good Essays
  • Powerful Essays

    Java

    • 2071 Words
    • 9 Pages

    The Next Gen IT Trends & Web Technologies – Course Plan - Version 1.1 is released for…

    • 2071 Words
    • 9 Pages
    Powerful Essays
  • Satisfactory Essays

    The Role of Programming

    • 365 Words
    • 2 Pages

    I certainly most agree to the perspective of the author from RIT, where the role of programming in Information Technology is subsequently different to Computer Science, Software Engineering and Computer Engineering. Though one of the most common applications and commodities of IT now is that integration in doing business systems in the growing era of information-through-anetwork (might have) surpassed all corporate ideals. For example is a multinational company asking some IT professionals with their development team being able to integrate all systems into a tailor-fit program to access all features in one system (enterprise resource planning system). This is particularly one vague instance of how IT differs its programming practices with other branches of Computer Studies. The development team has another concentration to the IT professionals. IT professionals and managers know what the company needs, how transactions work, relational data to process, and the program to be used, while the development team know how to program from head to toe of the program, classes, network protocols, web tags and scripts and the like. As mentioned in the reading, IT professionals are “closer” to the end-users. They (IT Pros) understand what the users want. IT pros recognize and visualize immediately what they need for the application. IT pros know a lot of programming languages, but not to its finest detail. But in contrast, the developers know the programming languages’ inner most capabilities on how it may be applied to the expectations of what the IT professional assigned him to do. Though the IT pro can instantly develop a small app for his end-user as a sample or even the real thing, he may reuse ready-made programs from open-source, etc. to develop the final application. It was discussed in the position paper where these ready-made programs come…

    • 365 Words
    • 2 Pages
    Satisfactory Essays
  • Good Essays

    Computter Programmer

    • 897 Words
    • 4 Pages

    My career of choice will be a computer programmer because I like computers and I am logical. I will be working hard toward my goal and achieve my degree in that field. I have worked with Power Point, Office 2000 and Excel before and those all are Microsoft Product. I have done some structure programing as well. Hopefully, within a year and a half, I will receive my associates in science and work hard to become better in a future. My intention is to become financially independent. Eventually, with some nights classes that I am planning on taking in the next couple of months, I will further my education with a bachelors’ of science, of the same field, of course. I feel that this is my fate. The responsibilities of a computer programmer are fixing errors so that the computers can run smoothly. Computer programs are the most complicated structures created by man (“what”). A lot of computer programmers do duties under such companies like Motorola, Apple and some other businesses that depend on computers.…

    • 897 Words
    • 4 Pages
    Good Essays

Related Topics