Download Fall 2008 Term - Computer Science

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Copland (operating system) wikipedia , lookup

Distributed operating system wikipedia , lookup

RSTS/E wikipedia , lookup

CP/M wikipedia , lookup

VS/9 wikipedia , lookup

Security-focused operating system wikipedia , lookup

Plan 9 from Bell Labs wikipedia , lookup

Spring (operating system) wikipedia , lookup

DNIX wikipedia , lookup

Unix time wikipedia , lookup

Berkeley Software Distribution wikipedia , lookup

History of Unix wikipedia , lookup

Unix security wikipedia , lookup

Unix wikipedia , lookup

Transcript
Wayne State University
Fall 2008 Term
CSC 1050 – Introduction to Unix and ‘C’ Programming Course
Course Syllabus and Outline
About this course:
This is a classroom and lab based course on UNIX and ‘C’ programming. All class materials such
as lecture notes, assignments, and other materials will be posted to the Blackboard System. It is
your responsibility to download them, print them, and study them. Lab session will be conducted
by a Teaching Assistant immediately after the lecture.
Instructor:
DAVE MALLYA
Email:
[email protected]
Telephone: 248.705.5962
Lectures:
This is a classroom and lab based course. Students are required to attend both.
Lectures will be held every Friday from 5:30 PM to 6:30 PM in Room 313 State
Hall. The lab sessions will follow the lecture.
Office:
Room 462, State Hall, Main Campus
Office Hours: 5:15 PM to 5:30 PM Fridays at Lecture Hall or by appointment
Prerequisites:
Course Description and Objectives:
All operating systems are designed to help the user solve problems. An operating system is a
complex program that allows the user to make use of computer hardware in a certain way. If a
different operating system is used on the same computer hardware, then dramatically different
tools may be available to solve problems using the same computer hardware. Most common
operating systems today (particularly Windows) are designed to help a "standard" computer user
solve "standard" problems. Thus, these operating systems come with relatively few generalpurpose tools. These operating systems are designed primarily to be easy to use - not to help
their users solve complex problems. Most "tools" that the users might wish to use to solve
problems in these environments are stand-alone applications that have to be purchased, found,
or created by the user. UNIX, on the other hand, provides many powerful tools to solve problems,
at the cost of being more difficult to learn. You may be asking yourself, "Why should I learn UNIX,
when all I really need to know is Windows?”. To help you answer this question, consider the
following points:
1. Programming languages, such as Pascal, Visual Basic, C++, Java, and PERL, each
facilitate a unique set of programming tools and approaches. Some problems are "easier"
to solve using the tools provided by one programming language (say Visual Basic) then
using the tools provided by a different programming language (say C++). This doesn't
imply that Visual Basic is better than C++, only that it is easier to solving some classes of
problems with Visual Basic. An operating system, like a programming language, provides
a set of tools for solving problems. Many problems are far easier to solve with the tools
available on a UNIX platform. It is always to your advantage to know what your options
are before attempting to solve a complex problem.
2. UNIX has exceptionally powerful tools, created by very, very smart people over a period
of several decades. Although it is harder to learn than many operating systems, it is
correspondingly more powerful.
CSC 1050 Course Syllabus and Outline
5/5/2017
Page 1 of 3
Wayne State University
Fall 2008 Term
CSC 1050 – Introduction to Unix and ‘C’ Programming Course
Course Syllabus and Outline
3. UNIX runs on virtually every computer ever made (including handheld computers, cell
phones, watches, and Ipods). Although there are variations (different versions) of Unix,
each provides fundamentally the same set of commands and tools.
4. Many variations of UNIX are open source. Thus, you can obtain the actual source code
for the operating system and see exactly how it works. If fact, you can modify the
operating system to meet any special needs that you might have. Because of these facts,
UNIX machines are heavily used in both academic and industry settings.
5. Most modern operating systems are based on or use ideas that were first implemented in
UNIX. Most modern operating systems provide a graphical interface over a very UNIXlike functionality (consider Mac OS-X!). Thus, the UNIX operating system is the de facto
standard when discussing operating system strategies, techniques, and performance.
6. Learning multiple operating systems is crucial to being a well-rounded computer scientist.
So crucial, in fact, that the Computer Science Accreditation Council mandates that to
receive a Bachelor of Science in Computer Science, a student must be familiar with
multiple operating systems. Almost every university throughout the world teaches its
students UNIX. UNIX is the "standard" for operating systems.
The course begins by introducing the UNIX Operating System concepts and basic UNIX
commands. As part of the ‘C’ programming, basic syntax. declaring variables. basic
program structure input / output. basic operators and control statements will be taught.
The student will be able to write simple programs in UNIX environment.
At the end of this course, the student should be able to accomplish the following
objectives:
 Login to a UNIX machine and create, edit, and manage files and directories
 Use basic UNIX commands and utilities to perform desired tasks
 Write simple shell scripts
The ‘C’ programming language is one of the programming languages used today for
software development in core computer environments. The use of the C programming
language for software development holds many programming possibilities that one must
learn to utilize, but which also demands dealing with difficulties that arise. Upon
completing the course, the participant will be able to deal with simple programming
problems. The course will introduce the ‘C’ programming language. The student will learn
to write simple programs using the ‘C’ programming language by understanding:








General structure and organization of a C program
Basic components (variables, constants, expressions, statements, types)
‘C’ libraries
‘C’ control-flow syntax
Arrays and pointers
Functions
Strings
Programming Statements
CSC 1050 Course Syllabus and Outline
5/5/2017
Page 2 of 3
Wayne State University
Fall 2008 Term
CSC 1050 – Introduction to Unix and ‘C’ Programming Course
Course Syllabus and Outline
Text Books: ‘C’ How to Program by P J and H M Dietel
Fifth Edition – ISBN 0-13-240416-7
Publisher: Deitel & Associates
Just Enough UNIX by Anderson.
Fifth Edition - ISBN: 0072952971.
Grading:
Up to 4 assignments total worth 40% of final grade
1 Mid-Term Examination worth 30% of final grade
Final Examination worth 30 % of final grade
Grading Scale: A: 100-85, B: 85-75, C: 74-60, D: 59-50, E: Below 50
Assignments overdue:
All assignments are due at the beginning of the class on the due date. Assignments will
lose 40% at the beginning of the class session following the due date. Thereafter 20%
for each class session will be lost.
Academic Honesty and Integrity:
Please present your own and original work. All cases of suspected academic misconduct will be
dealt with according to procedures for such misconduct.
Attendance:
Regular and complete attendance is required. If you are unable to attend any lecture(s)
please notify the instructor ahead of time. Emergencies should be notified within 24
hours.
Reading:
Strongly recommended - a suggested reading schedule will be provided.
It helps to read the topics ahead of the class session.
CSC 1050 Course Syllabus and Outline
5/5/2017
Page 3 of 3