14.08.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!