Office: CDM 827
Course homepage: https://d2l.depaul.edu/d2l/home
An introduction to problem solving, algorithms and structured
programming using a higher-level programming language. The course will focus on
skills for developing algorithms, and for writing and debugging programs.
Students will learn how and when to use loops, conditionals, and functional
abstractions in the context of problems motivated by real world applications.
MAT 130 Mathematics Diagnostic Test placement
into MAT 140.
Introduction
to Computer Science with Python, 2nd
edition (ebook) Ljubomir Perkovic, Wiley, 2015.
ISBN (ebook): 978-1-118-89105-6
Please note that this is the ebook version of the 2nd edition. It contains some material that is not
in the printed book.
Point scores and letter grades for the course will be computed
according to the following tables:
|
|
|
Plus and
minus scores will be assigned at the high and low ends of each of these ranges
at the instructor's discretion. (No A+ or D-)
Each week you will attend a lab session conducted by our
teaching assistant. Your lab grade will be based on your attendance and
completion of the exercises. No late submissions are accepted. Your lowest
grade will be dropped in the calculation of your lab score.
Assignments will be posted weekly to the course website. Late
assignments will receive a grade of 0. Your lowest grade will be dropped in the
calculation of your grade.
This course is
the first of a two-course sequence introducing computer science.? The focus of
the course is on problem solving, algorithm development, and structured and
object-oriented programming using Python and the Python API (application
programming interface), all in the context of building computer applications.
In the first
course we will focus on structured programming and learn how and when to use
conditionals, loops, and functional and modular abstractions.
After you
have taken this class:
The
following gives a tentative schedule for this course.
Week |
Topic/Deadline |
1 |
Introduction to the
course and Python |
Input structures, type
operators, and numeric types |
|
2 |
Decision structures, strings,
and lists |
Iteration structures |
|
3 |
|
Functions and strings |
|
Modules and objects,
formatted output |
|
4 |
File processing |
Exceptions and error
handling |
|
5 |
More about decision structures
and loop patterns (iterated loops) |
Loop patterns (counter
and accumulator loops) and review for the midterm |
|
6 |
Midterm exam: usual room
and time |
Discussion of the
midterm and more loop patterns (nested loops) |
|
7 |
More loop patterns
(multidimensional lists and while loops) |
More loop patterns
(infinite and interactive loops) and specialized statements (break, continue,
pass) |
|
8 |
Dictionaries |
9 |
Other collection types (tuples
and sets) and character encodings |
More functions, modules,
and module namespaces |
|
10 |
More about module
namespaces and the random module |
The random module and
review for the final exam |
|
Online Teaching Evaluation
Evaluations are a way for students to provide valuable feedback regarding their instructor and the course. Detailed feedback will enable the instructor to continuously tailor teaching methods and course content to meet the learning goals of the course and the academic needs of the students. They are a requirement of the course and are key to continue to provide you with the highest quality of teaching. The evaluations are anonymous; the instructor and administration do not track who entered what responses. A program is used to check if the student completed the evaluations, but the evaluation is completely separate from the student’s identity. Since 100% participation is our goal, students are sent periodic reminders over three weeks. Students do not receive reminders once they complete the evaluation. Students complete the evaluation online in CampusConnect