CSET 1100 Unix and C - The University of Toledo - Engineering ...
CSET 1100 Unix and C - The University of Toledo - Engineering ...
CSET 1100 Unix and C - The University of Toledo - Engineering ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Syllabus: <strong>CSET</strong> <strong>1100</strong><br />
<strong>CSET</strong> <strong>1100</strong> <strong>Unix</strong> <strong>and</strong> C (3 semester credit hours) Required<br />
Current Catalog Description:<br />
This three semester hour course is the first course in computer hardware <strong>and</strong> s<strong>of</strong>tware for<br />
<strong>CSET</strong> majors. Single <strong>and</strong> multi-user operating systems, comm<strong>and</strong>-line processing, program<br />
planning <strong>and</strong> creation <strong>and</strong> simple Internet tools are covered.<br />
Textbooks:<br />
1. “Just Enough UNIX,” Fifth Edition, Paul K. Andersen, McGraw-Hill Higher Education,<br />
2005.<br />
2. “C <strong>and</strong> UNIX,” Martin L. Barrett & Clifford H. Wagner, Wiley, 1995.<br />
References:<br />
Course web pages: http://cset.sp.utoledo.edu/cset<strong>1100</strong>/<br />
Related Program Outcomes ( a, b, d, f, g, h, i , j <strong>and</strong> k ):<br />
Upon successful completion <strong>of</strong> the Computer Science <strong>and</strong> <strong>Engineering</strong> Technology program,<br />
graduates will have:<br />
• an underst<strong>and</strong>ing <strong>of</strong> the analytical <strong>and</strong> laboratory skills associated with computer science<br />
<strong>and</strong> engineering technology (outcome a), as evidenced by the ability to create <strong>and</strong><br />
document a procedure, translate the procedure into C code, compile <strong>and</strong> execute the C<br />
code in a UNIX environment. Student will achieve the “application” level <strong>of</strong> mastery.<br />
• an ability to apply current knowledge <strong>and</strong> adapt to emerging applications <strong>of</strong> mathematics,<br />
science, engineering <strong>and</strong> technology (outcome b), as evidenced by successful navigation<br />
<strong>of</strong> multiple similar UNIX-like operating systems. Student will achieve the “application”<br />
level <strong>of</strong> mastery.<br />
• an ability to apply creativity in the design <strong>of</strong> systems, components or processes<br />
appropriate to program objectives (outcome d), as evidenced by the creation <strong>of</strong> C<br />
program solutions to a variety <strong>of</strong> programming assignments. Student will achieve the<br />
“application” level <strong>of</strong> mastery.<br />
• an ability to identify, analyze <strong>and</strong> solve technical problems (outcome f), as evidenced by<br />
the creation <strong>of</strong> C program solutions to a variety <strong>of</strong> programming assignments.<br />
• an ability to communicate effectively (outcome g), as evidenced by posting assignments<br />
responses to the class Listserv. Student will achieve the “application” level <strong>of</strong> mastery.<br />
• an underst<strong>and</strong>ing <strong>of</strong> the need for <strong>and</strong> the ability to engage in lifelong learning (outcome<br />
h), as evidenced by course exams. Student will achieve the “application” level <strong>of</strong><br />
mastery.<br />
• a recognition <strong>of</strong> pr<strong>of</strong>essional, ethical <strong>and</strong> social responsibilities (outcome i), as evidenced<br />
by results <strong>of</strong> course exams. Student will achieve the “application” level <strong>of</strong> mastery.<br />
• a respect for diversity <strong>and</strong> knowledge <strong>of</strong> contemporary pr<strong>of</strong>essional, societal <strong>and</strong> global<br />
issues (outcome j), as evidenced by course exams. Student will achieve the “application”<br />
level <strong>of</strong> mastery.<br />
• a commitment to quality, timeliness <strong>and</strong> continuous improvement (outcome k), as<br />
evidenced by course exams. Student will achieve the “application” level <strong>of</strong> mastery.
Syllabus: <strong>CSET</strong> <strong>1100</strong><br />
Course Objectives:<br />
After successful completion <strong>of</strong> this course, students will be able to:<br />
• Describe the fundamentals <strong>of</strong> computer history, hardware, s<strong>of</strong>tware <strong>and</strong> OS.<br />
• Connect from a remote location to a UNIX server on which they have an established shell<br />
account.<br />
• Transfer files to <strong>and</strong> from a PC to their account on a UNIX server.<br />
• Use the UNIX man pages to determine the proper syntax for user-level UNIX comm<strong>and</strong>s.<br />
• Manage their file system on a UNIX server.<br />
• Create technical programs using the C programming language.<br />
• Debug <strong>and</strong> test program.<br />
• Describe <strong>and</strong> implement the data structures available in the C programming language.<br />
• Design simple algorithm using pseudocode.<br />
• Create programs that implement a variety <strong>of</strong> common algorithms using the C<br />
programming language.<br />
Major Topics Covered in the Course<br />
Topic CC2001 CC2001<br />
Category Core<br />
History <strong>of</strong> Computing SP1 1.0<br />
Overview <strong>of</strong> OS (<strong>Unix</strong> as example) OS1, NC1 1.5<br />
Introduction to net centric computing (FTP,SSH etc) OS1, NC1 1.5<br />
Machine level representation <strong>of</strong> data AR2 1.5<br />
Assembly level machine organization AR3 1.5<br />
Overview <strong>of</strong> Programming Languages PL1 1.5<br />
Procedure Development:<br />
Pseudocode, Flowcharting & Control Structures<br />
PF2 1.5<br />
<strong>The</strong> process <strong>and</strong> mechanism <strong>of</strong> creating a program SE1 1.5<br />
Program environment, tools SE3 1.5<br />
Intro to C: Basic Programming structure PF1 1.5<br />
Basic Syntax, Variable declaration, I/O PF1, PL4 1.5<br />
Basic Operators, Expression evaluation, Priority,casting PF1 1.5<br />
Introduction to the gcc for compiling C program code PL3 1.5<br />
Block statement, C Flow Control: Branching PF1 1.5<br />
Looping, break, continue, sentinel PF1 1.5<br />
Abbreviations, Characters conversion PF1 1.5<br />
Debugging <strong>and</strong> testing, error <strong>and</strong> h<strong>and</strong>ling SE3 1.5<br />
Library, Function PF1 1.5<br />
Scope <strong>of</strong> variables, parameter passing PF1 1.5<br />
One-Dimensional Arrays, searching, summing, etc. PF3 1.5<br />
String <strong>and</strong> operations PF3 1.5<br />
Properties <strong>of</strong> good s<strong>of</strong>tware design SE1 1.5<br />
Higher-Dimensional Arrays PF3 1.5<br />
Typedef, structures PF3 1.5<br />
Text File Processing PF1 1.5<br />
S<strong>of</strong>tware requirements, validation <strong>and</strong> verification SE5, SE6 1.5<br />
CC2001<br />
Advanced
Problem solving using algorithm, simple algorithm PF2, AL3 1.5<br />
Sequential <strong>and</strong> binary search AL3 1.5<br />
Quadratic Sorting algorithms AL3 1.5<br />
O(N log N) sorting AL3 1.5<br />
Totals 44.5<br />
Laboratory Projects:<br />
Telnet, ftp <strong>and</strong> <strong>Unix</strong> file system<br />
Program creation in response to various homework assignments<br />
Comparison <strong>of</strong> algorithm complexity<br />
Syllabus: <strong>CSET</strong> <strong>1100</strong><br />
CAC Categories<br />
CS Core CS Adv<br />
Data Structures 2.0<br />
Algorithms 0.2<br />
S<strong>of</strong>tware Design 0.2<br />
Computer Organization <strong>and</strong> Architecture 0.2<br />
Concepts <strong>of</strong> Programming Languages 0.4<br />
Oral <strong>and</strong> Written Communications<br />
Not part <strong>of</strong> the course.<br />
Social <strong>and</strong> Ethical Issues<br />
Briefly discussed the issues involved with collaborating on programming assignments.<br />
<strong>The</strong>oretical Content<br />
Number systems, binary arithmetic, number system conversions, data abstraction<br />
Problem Analysis<br />
This course emphasizes problem analysis in the areas <strong>of</strong> program development. Students<br />
learn how to create pseudo-code to describe a solution to a problem, select appropriate data<br />
types, <strong>and</strong> test resulting programs.<br />
Solution Design<br />
This course requires students to produce a number <strong>of</strong> programs that lead to a design solution<br />
for a programming problem. Students use structures to read, write <strong>and</strong> modify binary<br />
records.<br />
Course Coordinator<br />
Allen Rioux (allen.rioux@utoledo.edu)<br />
2/26/07