Computer Science Department
CSC 1050CRN 12089– Introduction to Unix and ‘C’ Programming
Fall Term 2016– Main Campus
Faculty contact information:
Name: Dave Mallya
Office address:Room 314 State Hall, Main Campus
Office hours: 5:00 PM to 5:30 PM (Fridays) or by appointment
Phone: 248 705 5962
Email:
Critical Dates:
Course Description:
Introduction to Unix, Unix editor, and C Programming Language. Unix development tools and fundamentals of C language discussed.
Credit Hours:
2 Credits for CSC 1050
Prerequisite: MAT 1050
Co-requisites:None but lab participation is required and lab assignments MUST be completed
CSC 1050CRN: 12089Fall Term 2016
Class Begins / Wednesday, Aug. 31, 2016
Labor Day Holiday / Monday, Sept. 05, 2016
Last day to drop with 100% tuition cancellation / Wednesday, Sept. 14, 2016
Late Registration / Thurs Sep 8 - Wed Sept 14, 2016
Last day to drop with no grade reported (no refund) / Wed. Aug. 31 – Wed. Sept. 07, 2016
Thanksgiving Day Holiday / Wednesday, Nov. 23, 2016
Last day to withdraw / Sunday, Nov. 13, 2016
Final Examination / Friday, Dec. 15, 2016
Class Ends / Monday, Dec. 11, 2016
Text(s) Books:C Primer Plus 6th edition
Author: Stephen Prata
ISBN-13: 978-0321928429
Unix Laboratory Manual: UNIX Primer Plus (3rd Edition)
Authors: Dan Wilson, Bill Pierce, and Michael Wessler
ISBN-13: 978-1571691651
Suggested Reading:
Programming in C, 4th Edition
ByStephen G. Kochan
Published byAddison-Wesley Professional.
Problem Solving and Program Design in C, 8th Edition
by Jeri R. Hanly (Author), Elliot B. Koffman (Author)
Published by Person
Computer Programs:
Students will require access to the UNIX server with student id.
Course contents:
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 general-purpose 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:
- 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.
- 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.
- 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.
- 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.
- 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 UNIX-like functionality (consider Mac OS-X!). Thus, the UNIX operating system is the de facto standard when discussing operating system strategies, techniques, and performance.
- 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 UNIX to its students. 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 andcontrol statements will be taught. The student will be able to write simple programs in UNIX environment.
Laboratory (lab location)
The Lab part of this course will be held each Friday during the term in the same classroom immediately following this lecture class.
Course Learning Objectives:
Upon successful completion of this class, the student will be able to:
# / CSC 1050Course learning Objectives1 / Develop a good understanding of the ‘C’ programming language
2 / Develop basic understanding of the UNIX Operating system and be able to use basic UNIX commands and develop ‘C’ programs using UNIX editor, compile, test, and document the programs:
- 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
3 / Be able to write simple ‘C’ programs independently by understanding and applying:
- 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
Assessment:
Distribution of ScoreMid-Term Exam / 25%
Final Exam / 25%
Five (8) Lab Assignments / 20%
Two (2) Quizzes / 25%
Attendance, Participation, and Organization of Notes Binder / 5%
Grading Scale:
Grading scaleGrade / Score Required
A / 94% - 100%
A- / 90% - 93%
B+ / 86% - 89%
B / 82% - 85%
B- / 78% - 81%
C+ / 74% - 77%
C / 70% - 73%
C- / 67% - 69%
D+ / 64% - 66%
D / 61% - 63%
D- / 58% - 60%
FAIL / Below 58%
Grading Policies:
- Each student is responsible to check his grades after each assignment, and report any grading error to the instructor no later than 14 days after the grade was assigned. After 14 days from posting on blackboard, the grade will become final.
- Make-up examinations for exams and quizzes will not be given. If you have a compelling and documented reason for not being able to attend the exam, you must make the alternative arrangements before the examination. The compelling reason must conform to WSU policies for such absences and it is your responsibility to show the conformance.
- If an examination is missed due to a valid documented reason, contact the instructor no later than 3 days after the exam date and a make-up examination will be scheduled.
- An incomplete grade (I) will be given only under certain circumstances. It is your responsibility to send the instructor a letter quoting University policy on incompletes and explain how it applies to your situation
Religious Holidays:
Because of the extraordinary variety of religious affiliations of the University student body and staff, the Academic Calendar makes no provisions for religious holidays. However, it is University policy to respect the faith and religious obligations of the individual. Students with classes or examinations that conflict with their religious observances are expected to notify their instructors well in advance so that mutually agreeable alternatives may be worked out.
Student Disabilities Services:
- If you have a documented disability that requires accommodations, you will need to register with Student Disability Services for coordination of your academic accommodations. The Student Disability Services (SDS) office is located in the Adamany Undergraduate Library. The SDS telephone number is 313-577-1851 or 313-202-4216 (Videophone use only). Once your accommodation is in place, someone can meet with you privately to discuss your special needs. Student Disability Services' mission is to assist the university in creating an accessible community where students with disabilities have an equal opportunity to fully participate in their educational experience at Wayne State University.
- Students who are registered with Student Disability Services and who are eligible for alternate testing accommodations such as extended test time and/or a distraction-reduced environment should present the required test permit to the professor at least one week in advance of the exam. Federal law requires that a student registered with SDS is entitled to the reasonable accommodations specified in the student’s accommodation letter, which might include allowing the student to take the final exam on a day different than the rest of the class.
Academic Dishonesty - Plagiarism and Cheating:
Academic misbehavior means any activity that tends to compromise the academic integrity of the institution or subvert the education process. All forms of academic misbehavior are prohibited at Wayne State University, as outlined in the Student Code of Conduct ( Students who commit or assist in committing dishonest acts are subject to downgrading (to a failing grade for the test, paper, or other course-related activity in question, or for the entire course) and/or additional sanctions as described in the Student Code of Conduct.
- Cheating: Intentionally using or attempting to use, or intentionally providing or attempting to provide, unauthorized materials, information or assistance in any academic exercise. Examples include: (a) copying from another student’s test paper; (b) allowing another student to copy from a test paper; (c) using unauthorized material such as a "cheat sheet" during an exam.
- Fabrication: Intentional and unauthorized falsification of any information or citation. Examples include: (a) citation of information not taken from the source indicated; (b) listing sources in a bibliography not used in a research paper.
- Plagiarism: To take and use another’s words or ideas as one’s own. Examples include: (a) failure to use appropriate referencing when using the words or ideas of other persons; (b) altering the language, paraphrasing, omitting, rearranging, or forming new combinations of words in an attempt to make the thoughts of another appear as your own.
- Other forms of academic misbehavior include, but are not limited to: (a) unauthorized use of resources, or any attempt to limit another student’s access to educational resources, or any attempt to alter equipment so as to lead to an incorrect answer for subsequent users; (b) enlisting the assistance of a substitute in the taking of examinations; (c) violating course rules as defined in the course syllabus or other written information provided to the student; (d) selling, buying orstealing all or part of an un-administered test or answers to the test; (e) changing or altering a grade on a test or other academic grade records.
Course Drops and Withdrawals:
In the first two weeks of the (full) term, students can drop this class and receive 100% tuition and course fee cancellation. After the end of the second week there is no tuition or fee cancellation. Students who wish to withdraw from the class can initiate a withdrawal request on Pipeline. You will receive a transcript notation of WP (passing), WF (failing), or WN (no graded work) at the time of withdrawal. No withdrawals can be initiated after the end of the tenth week. Students enrolled in the 10th week and beyond will receive a grade. Because withdrawing from courses may have negative academic and financial consequences, students considering course withdrawal should make sure they fully understand all the consequences before taking this step. More information on this can be found at:
Student services:
- The Academic Success Center (1600 Undergraduate Library) assists students with content in select courses and in strengthening study skills. Visit for schedules and information on study skills workshops, tutoring and supplemental instruction (primarily in 1000 and 2000 level courses).
- The Writing Center is located on the 2nd floor of the Undergraduate Library and provides individual tutoring consultations free of charge. Visit writing to obtain information on tutors, appointments, and the type of help they can provide.
Class recordings:
Students need prior written permission from the instructor before recording any portion of this class. If permission is granted, the audio and/or video recording is to be used only for the student’s personal instructional use. Such recordings are not intended for a wider public audience, such as postings to the internet or sharing with others. Students registered with Student Disabilities Services (SDS) who wish to record class materials must present their specific accommodation to the instructor, who will subsequently comply with the request unless there is some specific reason why s/he cannot, such as discussion of confidential or protected information.
Dave Mallya
CSC 10501