Computer Science Principles and Programming is a course in fundamental computing principles for students with little to no computing background
Programming constructs: sequencing, selection, iteration, and recursion.
Data organization: arrays and lists. Use of abstraction in computing: data representation, computer organization, computer networks, functional decomposition, and application programming interfaces for graphics.
Use of computational principles in problem-solving: divide and conquer, randomness, and concurrency.
Classification of computational problems based on complexity, non-computable functions, and using heuristics to find reasonable solutions to complex problems.
Social, ethical and legal issues associated with the development of new computational artifacts will also be discussed.
Upon successfully completing the course, you will be able to:
Demonstrate knowledge of Python syntax by reading and writing Python code
Transform computational ideas between different levels of abstraction
Indicate which data structures would be the best fit for specific situations
Describe how efficiency affects the practical usage of algorithms and data structures
Identify different algorithmic techniques for running programs at scale
Construct programs that apply computational concepts as a tool in other domains
Discuss how computer science interacts with and affects the world