<|im_unit>
<|im_title>Software Engineering Fundamentals|im_title>
<|im_content>
Fundamentals of programming, data structures, algorithms, and problem-solving techniques. This unit will provide a strong foundation for further study in software engineering.
<|im_unit>
<|im_title>Programming Languages and Development|im_title>
<|im_content>
Introduction to various programming languages, including C++, Java, Python, and SQL. Hands-on experience with coding and problem-solving.
<|im_unit>
<|im_title>Data Structures and Algorithms|im_title>
<|im_content>
Understanding and implementing fundamental data structures (e.g., arrays, linked lists, stacks, queues) and algorithms (e.g., sorting, searching, recursion).
<|im_unit>
<|im_title>Software Design and Development|im_title>
<|im_content>
Software development life cycle, including requirements analysis, design, coding, testing, and deployment. Understanding of software engineering principles and best practices.
<|im_unit>
<|im_title>Databases and SQL|im_title>
<|im_content>
Introduction to relational databases, SQL (Structured Query Language), and SQL queries. Hands-on experience with data manipulation and query writing.
<|im_unit>
<|im_title>Software Engineering Tools and Technologies|im_title>
<|im_content>
Introduction to popular software engineering tools and technologies (e.g., version control systems, debuggers, testing frameworks). Hands-on experience with using these tools.
<|im_unit>
<|im_title>Software Engineering Project Management|im_title>
<|im_content>
Planning, scheduling, and managing software engineering projects. Understanding of Agile and other project management methodologies.
<|im_unit>
<|im_title>Software Engineering Ethics and Social Responsibility|im_title>
<|im_content>
Ethical considerations in software development, including privacy, security, and social responsibility. Understanding of the impact of software on society.
The assessment is done via submission of assignment. There are no written exams.