Download presentation
Presentation is loading. Please wait.
1
CSE 222 Systems Programming Introduction Dr. Jim Holten
2
CSE 222 2 01/21/09 Introduction This is Cramer 239 and the class is –CSE 222 – Systems Programming I am: – Dr. Jim Holten Regularly visit the class web site: http://www.cs.nmt.edu/~cs222/
3
CSE 222 3 01/21/09 Problems? Talk to me!! My office hours are in Cramer 210a (or the Fidel Center coffeeshop) on MW at 9:30- 10:30 (right after class) For other times we can arrange a meeting, as I work at ICASA, which is off campus.
4
CSE 222 4 01/21/09 Attendance Print name Today's date User ID (on TCC systems) Your preferred e-mail address for class correspondence
5
CSE 222 5 01/21/09 Main Course Topics Systems programming skills/habits Systems programming concepts Basic graph theory for use in system design and analysis "Good" software engineering practices
6
CSE 222 6 01/21/09 Two Guidelines!! Good system engineering habits are ESSENTIAL. –Computers are stupid. They will do exactly what you tell them to, no matter how wrong it is. –Humans make mistakes, and a computer can easily repeat one mistake 10 million times before a human can stop it. Communications are essential –How to build your program from source and run it. –What was your intent, problems encountered, decisions made, workarounds done.
7
CSE 222 7 01/21/09 Systems Computer programs, one or many Using operating system resources Activating and coordinating multiple processes Activating and coordinating remote processes Concepts and system concerns
8
CSE 222 8 01/21/09 Programming? Mostly in "C", some in Java and Perl to access system functions Use the TCC for assigned programming to develop a common baseline for all code Extensive use of the "C" systems call library -- and similar libraries for Java and Perl Writing "solid" code Use the defined style guide for all code!
9
CSE 222 9 01/21/09 Grading Your Programs 1.Did you include a usage guide (UG)? 2.Did you include a journal ("lab notes")? 3.Did you follow the programming style guide and delivery instructions? 4.Did you achieve the assignment goals? a)If not did you document your attempts? b)Are your results in a clear form?
10
CSE 222 10 01/21/09 Assignment (ID is your user id) Log into (ssh to) the TCC computer "pi" –ssh ID@pi.nmt.edu Perform the command sequence given in assignment MP1. Tar up the required files and e-mail them to me.
11
CSE 222 11 01/21/09 Class Coding Style Highlights Prettyprint indenting Code blocks in curly braces Naming conventions Comments in code
12
CSE 222 12 01/21/09 Prettyprint Indenting 3 spaces per block level NO tabs for indentation One or part of one statement per line Continuation lines are indented even more
13
CSE 222 13 01/21/09 Code Blocks in Curly Braces Even a single line after a conditional is a block and should be enclosed. Curly braces, “{“ and “}”, indented same as the enclosed block. No code on the line with either curly brace.
14
CSE 222 14 01/21/09 Naming Conventions Variables Structs and Classes Functions Macros
15
CSE 222 15 01/21/09 Variables Lower case Underscores between words
16
CSE 222 16 01/21/09 Structs and Classes Upper case Underscores between words See the guide for “typedef” naming
17
CSE 222 17 01/21/09 Functions Mixed case Each word capitalized First “word” may be lowercase to designate module context and for disambiguation
18
CSE 222 18 01/21/09 Macros Upper case Underscores between words
19
CSE 222 19 01/21/09 Class Roadmap Time and error handling File I/O Processes and communications Graph Theory review Coordinating multiple processes Distributed and parallel computing concepts
20
CSE 222 20 01/21/09 Some "C" pointers If you are running in circles because of a problem talk to me (or e-mail). There are many techniques and approaches to solving code problems, but until you have the need, discussing them would bore you to tears.
21
C Topics of Concern Dynamic allocation/deallocation Pointers vs direct references Linked list manipulation Parsing text strings
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.