CSE1320 INTERMEDIATE PROGRAMMING Dr. Sajib Datta CSE@UTA
Course Syllabus Instructor: Sajib Datta TA and office hours: TBA Office Location: ERB 652 (CSE Dept., UTA) Email Address: sajib.datta@uta.edu Web Site: http://crystal.uta.edu/~datta/ Office Hours: MoWe 1:00PM - 2:30PM; or by appointment TA and office hours: TBA
Course Syllabus -Course Description Introduction to the C programming language Exposure to basic data structures Learn to use the Linux operating system
Course Syllabus C By Discovery (4th Edition), Foster and Foster. ISBN-13: 978- 1576761700 ISBN-10: 1576761703 http://en.wikibooks.org/wiki/C_Programming
Course Syllabus -Labs and Exams All labs (5) will be posted on the course website and announced via email and in class. Each lab will be distributed at least one week before the due time. No late Labs will be accepted except for university-excused absences with documentation submitted before or less than 3 calendar days after the due date. Two exams and Final exam Comprehensive
Course Syllabus -Grading Pop Quizzes 15% Labs 30% (5 labs) Exams 30% (2 midterms, 15% each) Final Exam 25% Final grades are based on the standard ranges of A: 90–100, B: 80–89, C: 70–79, D: 60–69, F: 0–59 Instructor reserves the right to change the distribution
To succeed in this course Practice!!! Test code (debug)
What’s Programming What is computer programming? What is an algorithm? Interpretation of a task or algorithm in a computer language. What is an algorithm? A set of instructions for accomplishing a task. Input and Output
What’s Programming How about preparing salad? Steps: Clean and cut vegetables Put sauce & cheese Stir
What’s Programming -An example The algorithm for sorting three integers in ascending order, given 20, 5, 8. Steps: 5, 8, 20 To determine the concrete steps involved in solving a problem, we may Logically represent the problem Implement the logic in computer languages (c, c++, java, python, perl…) Given a thousand integers?
Why Programming Manually operating – not possible Google search engine (Searching in a File)
Basic Components of a Computer CPU – central processing unit RAM – random access memory Computer data storage Integrated circuits – randomly access with constant time Permanent memory – hard disk Computer peripheral – mouse, keyboard
Programming Platform You have to execute your code on Omega server Connect Omega Server using SSH If you are using Macbook or Linux (such as Ubuntu), then open Terminal, and commend ssh your_UTA_NET_ID@omega.uta.edu. Then it will ask for password (UTA NetID password). If you are using Windows, please download SSH (Secure Sheel Client) http://www.uta.edu/oit/cs/unix/ssh/Secure-Shell-Client.php Download Code:Blocks: http://www.codeblocks.org/ Open source, cross platform, free IDE
First Example #include<stdio.h> void main() { int num; /* define a variable called num */ num = 1; /* assign a value to num */ printf("This is a simple example.\n"); printf("This is a program with %d lines.\n", num); }
First Example # include <stdio.h> void main( ) /* a … */ Tell compiler to include the information included in stdio.h void main( ) A function name C programming consists of one or more functions (basic modules) Parenthesis identify a function Similar to the function defined in math Arguments and return /* a … */ Enclose comments (block), “//” – single line Intended for the reader and ignored by the compiler
First Example { - the beginning of the function body (statements separated by “;”) int num; A declaration statement num is an identifier Declare a variable before using it Traditionally, declare it at the beginning Lowercase letters, uppercase letters, digits, the underscore First character must be a letter or an underscore Not key words
First Example num = 1; printf(“ ”) \n an assignment statement Set space in memory Reassign later printf(“ ”) Part of the standard C library, a function \n Start a new line
First Example %d } – the end of the function Placeholder/format specifier - where and in what form to print } – the end of the function
A “Good” Program There are different criteria by which one program may be considered better than another. Some examples are: Readability – collaborative work Maintainability – self-updated Scalability – large-scale data set Performance (e.g., how fast it runs or how much memory it uses)