Course Overview
CSCI 338, Fall 2026�Software Engineering
Outline
About Sarah (she/her)
Co-Designer of the Course: Semmy Purewal
Semmy taught CSCI 338 with me a few semesters ago. This course has benefited tremendously from his expertise, including the course structure, assignments, and selection of tools / technologies.
Let’s Talk!
Break into groups of 3-4. Introduce yourself (go around):
Quick Share Out
Outline
Overview of the course
Why should I take this course?
This course will give you some practical and conceptual tools for thinking about how to design, build, deploy, scale up, and maintain systems over time – as tools and technologies change.
What am I going to learn?
You are going to explore three broad categories of ideas:
What am I going to learn?
You are also going to learn some techniques, frameworks, and potentially a few new programming languages as we instantiate these ideas in code.
In other words, we’re going to be building a distributed web application as a way of practicing the ideas we’re learning about.
How am I going to learn it?
By being accountable to yourself (most importantly) and to your classmates (who will be relying on you)
Some Other Thoughts…
1. You’re going to have to be resourceful
In this course, you are going to have to configure libraries and packages on your local computer, and learn new tools, frameworks, and languages on your own. Some thoughts:
2. Let’s build a healthy class culture
Outline
Other Course Expectations
Course Technologies
Books
Grading
Projects | 40% |
Labs & In-class activities | 30% |
Exams (midterm + final) | 30% |
Labs
0pts | Not attempted | Assignment not submitted. |
50% | Check Minus | Less than half of the assignment was completed correctly. |
75% | Check | Most of the assignment was completed correctly. |
100% | Check Plus | Assignment completed. Works as expected. |
Projects
This class will have two projects, with increasing independence and collaboration:
Projects
To join a Project 2 team, you must demonstrate that you can:
There will be a Project Readiness Assessment as part of your midterm exam. Additional attempts available during office hours
Coding Exercises
If you are interested in pursuing a software engineering type career, code interviews are – for better or for worse – the currency of the realm. Given this, we will dedicate some time in the class to doing practice problems. Useful resources:
Attendance Policy (Please Read Carefully)
Regular attendance is required. Much of CSCI 338 involves in-class problem solving, project work, code review, and team coordination.
Participation
Late policy
Accommodations
Any student requesting accommodations related to a disability or other condition should let me know, and/or make an appointment to meet with the Office of Academic Accessibility as soon as possible (preferably within the first two weeks of class). To make an appointment, call 828.232.5050; email academicaccess@unca.edu; visit https://oaa.unca.edu/
All information will remain confidential.
Your Physical and Mental Health
Sometimes, life happens. If you are struggling with any health issues (mental, physical, etc.), please reach out to me (Sarah), your advisor, the Dean of Students, and/or the Health and Counseling Center (https://www.unca.edu/life/health-counseling/).
Being proactive about managing the issues you are facing – early on – makes it easier to come up with a plan and help you to be successful.
We can help you connect to resources on campus.
Academic Integrity and Honesty
I want you to use Stack Overflow, ChatGPT, online tutorials, plugins, etc. to enhance your understanding of the material. Be curious, and explore different approaches to solving problems and achieving functionality. Just make sure that:
Passing off code that you found on the Internet as your own in a university class is not permissible. That said, making a note of the websites and sources you borrowed from is welcomed and encouraged.
Generative AI Policy
Outline
Activity
In-class written exercise (just an exercise – graded on participation)