Dr. Sajib Datta Jan 15, 2014
Instructor: Sajib Datta ◦ Office Location: ERB 336 ◦ Address: ◦ Web Site: 1/cse spring-2014.html ◦ Office Hours: MoWe: 12:00 PM - 1:30 PM TuTh: 3:30 PM - 5:00 PM TA and his office hours: TBA
Learn to program in C at a level beyond an introductory programming course. Exposure to basic data structures Learn the concept of object-oriented programming in C++ Learn to use the Linux operating system
W. D. Foster and L. S. Foster: C By Discovery (4th Edition) Herbert Schildt: C: The Complete Reference (4th Edition)
All labs (4) will be posted on the course website and announced in class. Each lab will be distributed 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
Attendance/Quizzes 10% (Tentative) Labs 30% (Tentative) Exams 30% (to average 2 exams) (Tentative) Final Exam 30% (Tentative) 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
Practice!!! Test code (debug)
What is computer programming? ◦ 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
How about preparing salad? ◦ Steps: Clean and cut vegetables Put sauce & cheese Stir
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?
Manually operating – not possible ◦ Google search engine (Searching in a File)
The website is up. Course lectures will be uploaded there ◦ Check regularly for assignments and update
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
For omega access, each student that needs to have access to it will need to contact the help desk and request it. The best way is to call them at and ask to have omega access added to your NetID account. Visual Studio download information: ◦ al-studio-2010/index.php
A Linux server Get an account! web.php web.php Provides C, C++, Lisp, Prolog, Cobol, and Fortran language compilers Connect using SSH
Windows users: download SSH client from OIT Shell-Client.php Shell-Client.php
omega.uta.edu
Applications -> Utilities -> Terminal Login: ◦ $ ssh Logout: ◦ $ logout
# include ◦ Tell compiler to include the information included in studio.h int 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
{ - 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
num = 1; ◦ an assignment statement ◦ Set space in memory ◦ Reassign later printf(“ ”) ◦ Part of the standard C library, a function \n ◦ Start a new line
%d ◦ Placeholder/format specifier - where and in what form to print return - a return statement of a function } – the end of the function
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)