CSC 313 — Software Engineering

CSC 313 Course Syllabus

The purpose of this course is to help you learn and apply formal practices of software engineering. Throughout the course you'll be working in a small software team to build a software project for an external stakeholder.

This course is unlike other CS courses you've taken in the past.

In most courses, you've been given a textbook containing a formula of steps to follow, then told to experiment a little bit by implementing specific projects based on those formula.

I must emphasize that there is very little hand-holding in this course.

While the information provided will be enough to get you started on most of your assignments, you'll often have to research much of the information on your own. As someone interested in a career related to software-development, this ability to research and learn technologies on your own will be one of the most valuable skills you will develop during your time at SVU.

More details on the scope and breadth of the project will be given in class.

Be warned: Most of the work you do for your project will be work that nobody else in the class is doing. You might be able to get help and guidance from classmates and your instructor, but most of your assistance will come in the form of how to find the answer you're looking for, rather than what is the answer you're looking for.

This collaborative and challenging project experience not only provides you with an unparalleled opportunity for learning and growth, but provides you with unique, real-world experience you can put on your resumé.

Throughout the course, we'll be using real-world tools that companies use for collaborative software development such as Github and Slack. Familiarity with these tools will give you a significant advantage in the employment market.

Textbook

The textbook for this course is Software Engineering: A Practitioner's Approach - 8th Edition by Pressman and Maxim.

About the Instructor

Dr. Falin

Dr. Lee Falin worked as a software engineer in industry for several years before completing his Bachelor’s of Computer Science at the University of Illinois, then going on to complete a PhD in Genetics, Bioinformatics, and Computational Biology at Virginia Tech. After completing his PhD, he worked as a Bioinformatician at the European Bioinformatics Institute, while continuing to work and teach in the private sector.

He’s launched a couple of micro-ISV startups, and taught at Virginia Tech, BYU-Idaho, and Southern Virginia University.

Dr. Falin’s research interests include machine learning, bioinformatics, software entrepreneurship, and education. Dr. Falin and his wife have five awesome children whom they homeschool.

Prerequisites

You should have completed CSC 120 Programming Fundamentals, as well as CSC 220 Data Structures, or their equivalents.

Grading

Assignments are weighted as follows:

For more information about late work, and other course policies, please see the Course Policies section.