CSE 115: Programming Language I

CSE 115

Course Meeting Time:
(Section 14) ST 09:40 AM - 11:10 AM
(Section 15) ST 11:20 AM - 12:50 PM

Undergraduate Assistant:
TBA

Credit Hours: 3

Course Description: This is the first course of the computer science programming and is required for all computer science and engineering majors. This course introduces the fundamental concepts of structured programming. Topics include fundamentals of computers and number systems, algorithms & flowcharts, fundamental programming constructs: syntax and semantics of a higher-level language, variables, expressions, operators, simple I/O to console and files, conditional and iterative control structures, functions and parameter passing, dynamic memory allocation; fundamental data structures: arrays, structures, strings and string processing; and testing and debugging strategies.

Course Objectives: The objectives of this course are to

  • learn fundamental knowledge on basics of computers, hardware, software, and number systems
  • familiarize about the basic terminologies used in computer programming
  • proficiently transform designs of problem solutions into a standard programming language
  • use an integrated development environment (IDE) to write, compile, and execute programs involving a small number of source files
  • proficiently use fundamental programming elements including: variable declaration, data types and simple data structures (arrays, strings, and structures), decision structures, loop structures, functions/methods, input and output for console and text files
  • apply debugging and testing techniques to locate and resolve errors and to determine the effectiveness of a program, and
  • have understanding of professionalism, codes of ethics and responsible conduct

Required Text and Materials: “Problem Solving and Program Design in C”, 8th edition by J Hanly and E Koffman, Pearson

Reference Text and Materials: “The C Programming Language”, 2nd edition by Dennis M. Ritchie, Brian W. Kernighan, Prentice Hall

Course Grade

ACTIVITIES PERCENTAGES
Quizzes 20%
Assignments 10%
Midterm Exam 30%
Final Exam 40%
Total 100%

This course will be graded on as per university grading policy.

Lectures

LECTURE DATE TOPIC
1 05-07 Introduction
2 07-07 Number Systems
3 12-07 Overview of Computers and Programming
4 14-07 Overview of C
5 19-07 Top-Down Design with Functions
6 21-07 Top-Down Design with Functions (Continues)
7 26-07 Selection Structures
8 28-07 Selection Structures (Continues)
9 04-08 Selection Structures (Continues)
10 09-08 Repetition and Loop Statements (Continues)
11 16-08 Repetition and Loop Statements (Continues)
12 18-08 Repetition and Loop Statements (Continues)
13 23-08 Midterm Exam
14 25-08 Pointers and Modular Programming
15 01-09 Pointers and Modular Programming (Continues)
16 06-09 Arrays
17 08-09 Arrays (Continues)
18 13-09 Arrays (Continues)
19 15-09 Strings
20 20-09 Strings (Continues) [Quiz 3]
21 22-09 Recursion
22 23-09 Recursion (Continues)
23 27-09 Structures and Unions
24 28-09 Structures and Unions (Continues)
25 TBA Final Exam

Policy

  • Exams and Quizzes: TBA

  • Assignments: TBA

  • Class etiquette: TBA

  • Collaboration and Cheating Policy: TBA

Mirza Mohammad Lutfe Elahi
Mirza Mohammad Lutfe Elahi
Senior Lecturer

My research interests include Machine Learning and Computer Vision.