CS1001.py: A topic-based introduction to computer science

Benny Chor*, Rani Hod

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

We describe the curriculum, initial experience, and preliminary evaluation of an introductory CS course for students taking CS as their single or double major. The course is taught during the first or second semester of the first year of studies. It is centered around eleven to thirteen topics, offering a wide cover of major CS subjects. Many of these topics are not covered in "traditional" introductory CS courses, and some of them are not even covered through the standard undergraduate curricula. Examples: digital image representation and processing, error correction and detection codes, hashing (including Cuckoo hashing), and text compression. The programming language used in the course is Python. The students are exposed to all standard programming language constructs (commands, assignments, functions, conditionals, iterations, recursion, etc.) and basic data types (e.g. integers, floating-point numbers, lists, dictionaries, and sets), as well as less basic constructs, like higher order functions, lambda expressions, classes and methods, and iterators. We have set a dual learning outcome: the students are expected to acquire a good knowledge and proficiency of programming and understanding short programs. We also expect them to get a broad view of central subjects in Computer Science.

Original languageEnglish
Title of host publicationITiCSE'12 - Proceedings of the ACM Conference on Innovation and Technology in Computer Science Education
Pages215-220
Number of pages6
DOIs
StatePublished - 2012
Event17th ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE'12 - Haifa, Israel
Duration: 3 Jul 20125 Jul 2012

Publication series

NameAnnual Conference on Innovation and Technology in Computer Science Education, ITiCSE
ISSN (Print)1942-647X

Conference

Conference17th ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE'12
Country/TerritoryIsrael
CityHaifa
Period3/07/125/07/12

Keywords

  • cs1: introduction to computer science
  • curriculum issues
  • experience report (preliminary)
  • topic based course

Fingerprint

Dive into the research topics of 'CS1001.py: A topic-based introduction to computer science'. Together they form a unique fingerprint.

Cite this