0% found this document useful (0 votes)
72 views

Silabus EL2008 Programming

This document outlines a course on problem solving with C programming. The course is designed to lay the foundation for algorithm analysis and data structures for electrical engineering students. Students will learn how to read problem statements, develop algorithms to solve problems, and implement the algorithms in C through hands-on practice. They will learn programming constructs in C, data structures, algorithm strategies like brute force, greedy, and divide-and-conquer. Students will also be introduced to algorithm analysis and parallel computation. The course aims to teach C programming and problem solving techniques applicable to various engineering fields.

Uploaded by

Janet Bennett
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
72 views

Silabus EL2008 Programming

This document outlines a course on problem solving with C programming. The course is designed to lay the foundation for algorithm analysis and data structures for electrical engineering students. Students will learn how to read problem statements, develop algorithms to solve problems, and implement the algorithms in C through hands-on practice. They will learn programming constructs in C, data structures, algorithm strategies like brute force, greedy, and divide-and-conquer. Students will also be introduced to algorithm analysis and parallel computation. The course aims to teach C programming and problem solving techniques applicable to various engineering fields.

Uploaded by

Janet Bennett
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 3

School of Electrical Engineering

and Informatics
Institut Teknologi Bandung
El2008 Problem Solving with C (3 Crs)

Semester II 2014

Course Description (3 Crs)


This course lays the foundation of algorithm analysis and data structures for
the electrical engineering curriculum. In this class, students will experience
applications of concepts learned in the classroom. They will learn through
hands-on experience how to read and understand problem statements and
develop the algorithm and implement it using C to solve the problem.
Prerequisite
KU1071 Introduction to Information Technology A
Learning Outcomes
Provide an introduction to problem solving tools using an engineering
workstation
1. Focus on teaching you the C programming language while emphasizing
problem solving techniques and software engineering skills that are
applicable in a wide variety of fields.
2. Provide students with the necessary skills to solve a variety of engineering
and programming problems as needed throughout their undergraduate work.
Essential Reading/ Textbooks
1. Hanly, Jeri, and Koffman, Elliot, "Problem Solving and Program Design in
C", 7th ed, Addison Wesley, New York, 2013
2. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein,
Introduction to Algorithms, The MIT Press, 3rd edition, 2009

Course Schedule
Week
1

Topic

Reference

Introduction

History and Overview

Programming
Construct

Variables, types, expressions, and


assignment
Simple I/O

Programming
Construct

Conditional Structures

Programming
Construct

Iterative control structures, Pointers

Programming
Construct

Functions and parameter passing, File


I/O

Algorithms and
problem-solving

Problem-solving strategies, Structured


decomposition
Debugging strategies

Data Structure

Arrays and Records


Strings and string processing

Data Structure

Data representation in memory


Static, stack, and heap allocation
Runtime storage management
Linked structures

Midterm
8

Data Structure

Implementation strategies for stacks,


queues, and hash tables
Implementation strategies for graphs
and trees

Recursion

The concept of recursion


Recursive mathematical functions
Divide-and-conquer strategies
Recursive backtracking

Basic Algorithm
Analysis

Asymptotic analysis of upper and


average complexity bounds
Identifying differences among best,
average, and worst case behaviors

10

Big "O," little "o," omega, and theta


notation
Empirical measurements of
performance
Time and space tradeoffs in algorithms

11

Algorithm
Strategy

Brute-force/exhaustive search
algorithms
Greedy algorithms

12

Algorithm
Strategy

Divide-and-conquer
Backtracking

13

Computing
Algorithm

Simple numerical algorithms

14

Computing
Algorithm

Sequential and binary search


algorithms
Sorting algorithms
Hash tables
Binary search trees

15

Intro to Parallel
and Distributed

Why parallel computation?,


Task/Thread, concurrency, OpenMP

16

Final Exam

You might also like