-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSyllabus.tex
209 lines (165 loc) · 5.14 KB
/
Syllabus.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
\documentclass[a4paper,11pt]{article}
\usepackage[a4paper, total={6in, 9in}]{geometry}
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
urlcolor=black
}
\begin{document}
\title{ C Programming Course Syllabus }
\author{ Prepared by \em{Shakil Shahadat} }
\date{ 2021 }
\maketitle
\thispagestyle{empty} % No page number in the first page
\vspace*{\fill} % Print the following line at the end of the page
\noindent “One must learn by doing the thing; for though you think you know it, you have no certainty, until you try.” - Sophocles
\newpage
\em
\section*{ Chapter 1: Introduction to C Programming }
\begin{enumerate}
\item What is Programming \& Programming Languages?
\item History of Programming
\item Categories of Programming Languages
\item Major Programming Languages
\item What can be done with Programming?
\item History of C Programming Language
\item Why C?
\item Difference between C \& C++
\item Introduction to C Programming Language
\item Prerequisites for Learning C
\item How to Write a Program: Text Editor vs Code Editor vs IDE
\item Download and Install \href{https://www.codeblocks.org/}{ Code::Blocks }
\item How to Run a C Program?
\item What is a Compiler?
\item Running ‘Hello World’ program: Extension, Code, Execution
\item Suggested Books \& Resources
\end{enumerate}
\newpage
\section*{ Chapter 2: Variable, Data Types, Constant, Comment }
\begin{enumerate}
\item Basic Structure of a C Program
\item Statement \& Closing Semi-colon
\item What is Variable?
\item Variable Declaration
\item Data Types
\item Naming Convention, Do’s \& Don't
\item Reserved Words
\item Case Sensitivity
\item Variable Assignment
\item Single \& Double Quotes
\item Constant
\item Code Readability
\item Code Formatting
\item Comment
\end{enumerate}
\section*{ Chapter 3: Function }
\begin{enumerate}
\item DRY Principle
\item Code Block
\item Philosophy of Function
\item Function Declaration
\item Naming Convention, Case Sensitivity, Do’s \& Don't
\item Function Execution
\item Function Argument
\item Default Value of an Argument
\item Passing Arguments by Reference
\item Function with a Return Value
\item Variable Scope: Local and Global Variable
\item Recursion
\item Usage of Functions
\end{enumerate}
\section*{ Chapter 4: Operators \& Expression }
\begin{enumerate}
\item Definition of Operator \& Operand
\item Types of Operators
\item Expression
\item Arithmetic Operators
\item Assignment Operators
\item Increment \& Decrement Operators
\item Comparison Operators
\item Logical Operators
\item Hierarchy of Operators
\item Associativity of Operators
\end{enumerate}
\section*{ Chapter 5: Conditional Statements }
\begin{enumerate}
\item If Statement
\item Else Statement
\item Else-If Statement
\item Nested Statement
\item Switch Statement
\item Break Statement
\item Comma Operator
\item Goto Statement
\end{enumerate}
\section*{ Chapter 6: Loop Statement }
\begin{enumerate}
\item What are Loop Statements?
\item Types of Loop Statements
\item For Loop
\item Infinite Loop
\item Special Cases of For Loop
\item While Loop
\item Do/While Loop
\item Continue Statement
\item Writing Repetitive Code: Comparison between Function \& Loop
\end{enumerate}
\section*{ Chapter 7: Array }
\begin{enumerate}
\item What is an Array?
\item Indexed Array
\item Associative Array
\item Multi-dimensional Array
\end{enumerate}
\section*{ Chapter 8: Pointers }
\begin{enumerate}
\item What is Pointer?
\item Declaration of Pointers
\item Passing Pointers to Functions
\item Operations on Pointers
\item Arrays of Pointers
\item Passing Functions to Other Functions
\end{enumerate}
\section*{ Chapter 9: File I/O }
\begin{enumerate}
\item Creating a Data File
\item Opening a Data File
\item Reading from a Data File
\item Writing to a Data File
\item Closing a Data File
\end{enumerate}
\newpage
\section*{ Chapter 10: Miscellaneous Topics }
\begin{enumerate}
\item Structure
\item GUI Programming in C
\item Introduction to GUI Programming with Qt
\item Database Programming in C
\item KISS Principle
\item Code Debugging Techniques
\item Common Error Messages
\item Limitations of C Programming
\item How to be a Better Programmer
\item Problem Solving
\item Online Judge
\item Flowchart
\item Exciting Technologies of the future: AI, ML, Blockchain, IoT
\item What’s Next: Data Structures, Algorithms, OOP
\end{enumerate}
\section*{ Exams }
\begin{enumerate}
\item From Chapter-1 to Chapter-3
\item From Chapter-4 to Chapter-6
\item From Chapter-7 to Chapter-10
\item General Problem Solving
\end{enumerate}
\em Note
\begin{itemize}
\item Exams will have both written and practical part.
\item Written part may have MCQ, true/false, fill in the blanks, matching and short questions.
\item Practical part will consist of problem solving.
\item Final Exam will have only practical part.
\end{itemize}
\vspace*{\fill}
\em \large Download the latest version from \url{https://github.com/Shakil-Shahadat/C}
\end{document}