CSC1001: Fundamentals of Computing/Software Development

This is an introductory computing course that focuses on a fundamental, problem-solving approach to software development. This course equips you with the mindset and core strategies to solve problems by developing appropriate software and documentation. Throughout the semester, you'll learn a variety of solution strategies, work with various data types, and develop an understanding of how to trace, debug, update, and evaluate the execution of Python programs. You will learn how to apply these concepts to a variety of problems in many domains, collaborate with peers, and build confidence along the way. The course culminates in a final project where you will apply the solution strategies you've learned to build and present your engineered software solution to a non-trivial problem.

Outcomes

On successful completion of this course, the student will be able to:

Homework

Homework for this class is smaller pieces of work that are designed to help you work on the material you’ll need for labs and exams.

Exercises

The exercises are designed to help you figure out how you best learn and teach you some potential skills for being successful in the college environment.

Quizzes

Most weeks in lab you’ll take a short quiz to ensure you are prepared for the lab and you’re understanding the material we’ve covered in the past week.

You’ll also have weekly reading quizzes to ensure you’re doing the reading that is associated with what we’re discussing in class.

Labs

Labs will require you to do some programming and work with others. The labs are mostly designed to be completed during the lab period. In addition to your code you will turn in the answers to some reflection questions to let you reflect on your process and experience of doing the lab.

Exams

The two midterms will test your knowledge and understanding of the material presented so far in class. The comprehensive final exam will assess your knowledge and understanding of all the material in the class.