CS 375 UNIX System Programming Spring 2014 Syllabus

Similar documents
Introduction to UNIX

CS 241 Data Organization using C

Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Sciences and Technologies

Syllabus for HPE 451 Directed Study 1-3 Credit Hours Spring 2014

Web Programming Spring 2010

EECE.2160: ECE Application Programming Spring 2019

Syllabus for HPE 099 Aerobic Proficiency 1 Credit Hour Spring 2015

Course Syllabus - CNT 4703 Design and Implementation of Computer Communication Networks Fall 2011

VIS II: Design Communication Graphic Design Basics, Photoshop and InDesign Spring 2018

Syllabus for HPE 120 Dance Aerobic Proficiency 0.0 Credit Hour Spring 2012

The Linux Command Line: A Complete Introduction, 1 st ed., by William E. Shotts, Jr., No Starch Press, 2012.

EECE.2160: ECE Application Programming Spring 2017

Syllabus for HPE 099 Aerobic Proficiency 1 Credit Hour Fall 2012

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

CSCE 441 Computer Graphics Fall 2018

IST359 - INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS

CPSC 2380 Data Structures and Algorithms

CSCI 201L Syllabus Principles of Software Development Spring 2018

INFS 2150 (Section A) Fall 2018

School of Computing and Information Sciences

Gerlinde Brady Phone: Office Hours: see Web at:

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018

Introduction to Programming System Design CSCI 455x (4 Units)

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

Web Programming Fall 2011

Syllabus for HPE 034 Varsity Cheerleading and Fitness 1 Credit Hour Fall 2014

Compilers. Computer Science 431

Oklahoma State University Institute of Technology Face-to-Face Common Syllabus Fall 2017

Operating Systems, Spring 2015 Course Syllabus

Advanced Programming Concepts. CIS 15 : Spring 2007

COURSE SYLLABUS AND INSTRUCTOR PLAN

Syllabus for HPE 076 Varsity Volleyball (Women) Sports 1 Credit Hour Fall 2014

Advanced Client-Side Web Programming CSCI 491/595 Syllabus Fall 2018

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

ESET 369 Embedded Systems Software, Spring 2018

Advanced Topics in Database Systems Spring 2016

IT 341 Fall 2017 Syllabus. Department of Information Sciences and Technology Volgenau School of Engineering George Mason University

BIO 139 HUMAN ANATOMY AND PHYSIOLOGY II LABORATORY SYLLABUS

Course: Honors AP Computer Science Instructor: Mr. Jason A. Townsend

Syllabus for HPE 021 Advanced Golf and Fitness 1 Credit Hour Spring 2016

Computer Science Technology Department

CS 470G Introduction to Operating Systems

CS 0449 Intro to Systems Software Fall Term: 2181

CPS352 - DATABASE SYSTEMS. Professor: Russell C. Bjork Spring semester, Office: KOSC 242 x4377

Syllabus for CSC 455 Database Systems 3 Credit Hours Spring 2012

ESET 369 Embedded Systems Software, Fall 2017

Computer Technology Division. Course Syllabus for: COMT Spring Instructor: Joe Bolen

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

COURSE SYLLABUS BMIS 326 INTRODUCTION TO ORACLE

CSci 4211: Data Communications and Computer Networks. Time: Monday and Wednesday 1 pm to 2:15 pm Location: Vincent Hall 16 Spring 2016, 3 Credits

CS503 Advanced Programming I CS305 Computer Algorithms I

Instructor: Anna Miller

programming exercises.

Division of Engineering, Computer Programming, and Technology

Introduction to Computer Systems

Computer Science Technology Department

Compilers for Modern Architectures Course Syllabus, Spring 2015

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

Syllabus for HPE 016 Beginning Badminton and Fitness 1 Credit Hour Spring 2014

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

COLLEGE OF DUPAGE CIS 2542 Advanced C++ with Data Structure Applications Course Syllabus

CS 3030 Scripting Languages Syllabus

Syllabus Revised 01/03/2018

CS 200, Section 1, Programming I, Fall 2017 College of Arts & Sciences Syllabus

CPS352 - DATABASE SYSTEMS. Professor: Russell C. Bjork Spring semester, Office: KOSC 242 x4377

Course Description. This course combines semesters three and four of the Cisco Networking Academy CCNA

Syllabus for HPE 097 Backpacking and Fitness 1 Credit Hour Fall 2015

Developing Web Applications and Services Course Syllabus Fall 2015

ISM 324: Information Systems Security Spring 2014

Spring CISM 3330 Section 01D (crn: # 10300) Monday & Wednesday Classroom Miller 2329 Syllabus revision: #

COURSE OUTLINE. IST 253 Database Concept 3 Course Number Course Title Credits

Syllabus for HPE 042 Creative Aerobics and Fitness Credit Hour Spring 2013

MWF 9:00-9:50AM & 12:00-12:50PM (ET)

Syllabus for HPE 092 Exercise and Weight Control 1 Credit Hour Spring 2015

Syllabus CSCI 405 Operating Systems Fall 2018

CS 471 Networking and Distributed Operating Systems

I. PREREQUISITES For information regarding prerequisites for this course, please refer to the Academic Course Catalog.

Syllabus Revised 08/21/17

When does RDBMS representation make sense When do other representations make sense. Prerequisites: CS 450/550 Database Concepts

COSC 115A: Introduction to Web Authoring Fall 2014

Syllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment)

COURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015

COSC 115: Introduction to Web Authoring Fall 2013

CPS352 Database Systems Syllabus Fall 2012

Syllabus for HPE 038 Scuba Open Water II and Fitness.5-1 Credit Hour Spring 2014

Syllabus for HPE 007 Basic First Aid and CPR and Fitness 1 Credit Hour Spring 2016

Object-Oriented Programming for Managers

BIO 139 HUMAN ANATOMY AND PHYSIOLOGY II LABORATORY SYLLABUS

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

Syllabus. ICS103: Computer Programming in C 2017 / 2018 First Semester (Term 171) INSTRUCTOR Office Phone Address Office Hours

Computer Science Technology Department

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018

Data Structures and OO Development II

Syllabus for HPE 021 Advanced Golf and Fitness 1 Credit Hour Fall 2014

CSci 4211: Introduction to Computer Networks. Time: Monday and Wednesday 2:30 to 3:45 pm Location: Smith Hall 231 Fall 2018, 3 Credits

Data Structures and Algorithms

Murach's HTML and CSS3 3 rd Edition By Boehm, Anne Fresno, Calif Publisher: Mike Murach & Associates, 2015 ISBN-13:

I. PREREQUISITE For information regarding prerequisites for this course, please refer to the Academic Course Catalog.

BIO 139 HUMAN ANATOMY AND PHYSIOLOGY II LABORATORY SYLLABUS

CSE 114, Computer Science 1 Course Information. Spring 2017 Stony Brook University Instructor: Dr. Paul Fodor

Transcription:

CS 375 UNIX System Programming Spring 2014 Syllabus Instructor Dr. Deborah Hwang KC 264, 488 2193, hwang@evansville.edu Home page: http://csserver.evansville.edu/~hwang Office Hours: See instructor's home page. Course Home Page Handouts will be available only at the course home page (http://csserver.evansville.edu/~hwang/s14 courses/cs375.html). Although announcements regarding handouts and assignments will be made in class, it is your responsibility to consult the course home page on a regular basis. Grades will be posted to Blackboard (http://bblearn.evansville.edu). Catalog Description Coverage of UNIX software development and UNIX administration. Includes discussion of common shells and scripting languages, X Windows and interprocess communication. Objectives and Outcomes The main objective of this course is to become proficient in the use of system programming tools and techniques used in the UNIX operating system. Specific outcomes for this course include: Students will be able to write C/C++ programs using UNIX systems for file I/O. Students will have a basic understanding of UNIX filesystem security features (file ownership and permissions) and file types (regular, directory, special, and links). Students will be able to use use essential UNIX tools effectively from the command line and/or in scripts. These tools include: grep and find. Students will be able to write UNIX shell scripts employing redirection, pipes, loops, selection and iteration statements, argument passing, command substitution, and HERE documents. Students will be able to write C/C++ routines that use the Curses library for terminal I/O.* Students will be able to write programs in a scripting language such as PHP. Students will be able to write graphical applications using a C++ toolkit. Students will be able to create new processes using fork and exec. Students will be able to send signals to processes and be able to wait and handle signals. Students will have a basic understanding of TCP/IP networks and protocols. Students will be able write programs that communicate via standard UNIX interprocess communication methods: pipes, sockets, semaphores, message queues and shared memory. Prerequisites: CS 215 01/13/2014 Page 1 of 5 D. Hwang

Required Textbooks Neil Matthew and Richard Stones, Beginning Linux Programming, 4ed, Wrox, 2008, ISBN 978 0 470 14762 7. Marc J. Rochkind, Advanced UNIX Programming, 2ed, Addison Wesley, 2004, ISBN 978 0 13 141154 8 Links to supplemental on line references at: http://csserver.evansville.edu/~hwang/s14 courses/cs375/references.html Daily Requirements Assigned daily reading. Written in class and homework assignments as needed. Programming Projects There will be 7 8 programming assignments of 1 2 weeks in duration. In addition, there is a final programming project that is due at 11:00am, Tuesday, May 6 (the end of the scheduled final exam period for this class). Evaluation There are no exams in the class. Final grades will be based on project work only using the following weighted distribution: 75% Programming projects (weighted as indicated on the assignment) 15% Final programming project 10% In class and homework assignments (weighted as indicated on the assignment) Late Homework, Late Projects All assignments (homework, projects) are due at the instructor's office and/or electronically as appropriate by 4:30pm on the date specified unless otherwise noted. Any assignments arriving after 4:30pm are considered late. The following automatic late penalties will be applied: 10% if handed in by 4:30pm, one day late 20% if handed in by 4:30pm, two days late 30% if handed in by 4:30pm, three days late Unexcused late work will not be accepted for credit after three days after the due date without prior arrangements. For the purpose of counting days, Friday 4:30pm to Monday 4:30pm is considered one day. Please note that the purpose of the automatic late extension is to allow students leeway when needed. It is usually better to hand in something late and completed than on time and incorrect. However, chronically handing in late submissions will lower your final grade. Valid excuses for missing exams, missing classes, and handing assignments in late include illness, family emergencies, religious observances, official UE events such as varsity games and concerts, etc. They do not include (most) work conflicts, studying for other classes, leaving a day early or staying home an extra day over a weekend or holiday, etc. In general, an excused absence is one caused by circumstances beyond your control. 01/13/2014 Page 2 of 5 D. Hwang

The instructor will rely on your integrity for getting work excused. If you have a valid excuse, send an email to the instructor explaining the excuse. For religious observances and official UE events, you must inform the instructor that you will be absent before the absence occurs, otherwise it will be considered an unexcused absence. The instructor reserves the right to ask for official documentation in cases of chronic absences. Excused work must be made up within one calendar week from the original due date for full credit. Late excused work will not be accepted Exceptions will be made for serious or prolonged illness, or other serious problems. Please note: It is your responsibility to take care of missed or late work. Attendance Policy Attendance is important and expected. Attendance records will be maintained in accordance with Federal Law, but will not be used in the determination of grades, except to the extent it affects the in class exercise portion of your grade and in borderline cases. However, the instructor reserves the right to reduce a final grade in this course for excessive absences. Students will be warned prior to such action. Students are responsible for all material covered in class. If you miss a class, find out what was covered from another student. You are responsible for checking the course home page for new assignments even if you miss class. Honor Code All students are expected to adhere to the University's Honor Code regarding receiving and giving assistance. The following specific guidelines are in force for this course. Written in class and homework exercises are for you to gain experience and practice. You may collaborate with your classmates, but each student should submit a solution in his/her own words that reflect his/her understanding of the solution. Ultimately you will be required to demonstrate your proficiency of the material on exams. Therefore, it is highly recommended that you attempt all homework problems on your own before finding a solution from another source. Programming projects are to be your own work unless otherwise noted. Discussing the meaning and general solution techniques of an assignment with other students is permitted. For example, discussing How is this assignment similar or different from problems presented in the text or in lecture? is acceptable. Asking another person for assistance on specific items in your own project also is permitted, but you may not observe another person s code in its entirety for the purposes of studying or copying it, with or without that student's permission. For example, asking, What does this compiler error mean? or Do I have the correct PHP syntax here? is acceptable. Whereas asking Can I see how you coded your server sockets? is not acceptable. In particular, since UNIX systems tend to be open by default, it is absolutely forbidden to rummage around the csserver file system looking at anyone else's work even if they have not set the file permissions to prevent such observation. For those that would rather not rely on the integrity of others, it is suggested that most work for this class be put into a subdirectory that has its permissions set to owner only. Unfortunately, this generally is not possible with web pages. 01/13/2014 Page 3 of 5 D. Hwang

Giving or receiving unauthorized aid on a programming project will result in a grade of 0 for the first offense. Any subsequent violations will result in a grade of F for the course and possibly formal disciplinary action. If there is any doubt as to whether assistance is acceptable, consult the instructor. Course schedule Here is a tentative schedule showing the daily reading assignments for this term. Adjustments will be made as needed. The "acronyms" appearing below correspond to reference material. BLP is the Beginning Linux Programming book and AUP is the Advanced UNIX Programming book (the course texts). All other references are on line and may found through links on the course web site. Week of Tuesday Thursday 01/13 UCRE, UOVE: History of UNIX BLP Ch 1: Getting Started AUP: Ch 1: Fundamental Concepts BLP Ch 1: Getting Started UITL Ch 2, 3: Basic Commands 01/20 BABS, BLP Ch 2: Shell Programming BABS, BLP Ch 2: Shell Programming 01/27 BLP Ch 3: Working with files AUP Ch 2: Basic File I/O BLP Ch 3: Working with files AUP Ch 4: Advanced File I/O 02/03 BLP Ch 4: The UNIX Environment BLP Ch 5: Terminal Programming BLP Ch 6: Curses AUP Ch 4: Terminal I/O 02/10 BLP Ch 6: Curses AUP Ch 4: Terminal I/O BLP Ch 7: File Locking, GDBM Database Routines 02/17 PINT, PZND, PW3S: Introduction to PHP PINT, PZND, PW3S: Introduction to PHP 02/24 PINT, PZND, PW3S: Introduction to PHP BLP Ch 11: Processes (fork and exec) 03/03 BLP Ch 11: Signals and Signal Handling Instructor out of town No class 03/10 SPRING BREAK No class 03/17 BLP Ch 12: POSIX Threads 03/24 BLP Ch 13: Pipes AUP Ch 6: Basic Interprocess Communication BLP Ch 12: POSIX Threads BLP Ch 14: Semaphores, Shared Memory AUP Ch 7: Advanced Interprocess Communication 01/13/2014 Page 4 of 5 D. Hwang

Week of Tuesday Thursday 03/31 BLP Ch 14: Shared Memory, Message Queues AUP Ch 7: Advanced Interprocess Communication 04/07 BLP Ch 15: Sockets BLP Ch 15: Sockets BLP Ch 15: Sockets 04/14 BLP Ch17: Using Qt4 CS 497 Senior Project Presentations No class 04/21 BLP Ch17: Using Qt4 BLP Ch17: Using Qt4 04/28 BLP Ch17: Using Qt4 Finals Week No Class There is no Final Exam for this course. The Final Programming Project is due by 11:00 AM on Tuesday, May 6, 2014 (end of the final exam period scheduled for this class) 01/13/2014 Page 5 of 5 D. Hwang