/// <summary> /// Gets the dep courses. /// </summary> /// <param name="courseName">Name of the course.</param> /// <param name="list">The list.</param> /// <returns></returns> public static List <DepCourse> GetDepCourses(String courseName, List <DepCourse> list = null) { if (list == null) { list = new List <DepCourse>(); } DepCourse course = null; foreach (DepCourse dc in GetAllDepCourse()) { if (dc.CourseName.Equals(courseName)) { course = dc; break; } } if (course == null) { return(new List <DepCourse>()); } foreach (DepCourse dc in course.DepCourses) { if (!dc.Learned) { list.Add(dc); } list = DepCourse.GetDepCourses(dc.CourseName, list); } return(list); }
/// <summary> /// Constructs the dependent courses. /// </summary> public static void ConstructDependentCourses() { DepCourse datamining = new DepCourse("Data Mining"); DepCourse statistics = new DepCourse("Probability and Statistics"); DepCourse ml = new DepCourse("Machine Learning"); ml.Learned = true; DepCourse algorithms = new DepCourse("Algorithm Design"); DepCourse discrete = new DepCourse("Discrete Mathematics"); DepCourse datastruct = new DepCourse("Data Structure"); DepCourse compiler = new DepCourse("Compilers"); DepCourse linux = new DepCourse("Linux Programming"); DepCourse os = new DepCourse("Operating System"); DepCourse mobile = new DepCourse("Mobile Programming"); DepCourse oop = new DepCourse("OOP"); DepCourse web = new DepCourse("Web2.0 Program Design"); DepCourse c = new DepCourse("C Programming Language"); DepCourse embedded = new DepCourse("Embedded Programming"); DepCourse ca = new DepCourse("Computer Architecture"); DepCourse intro = new DepCourse("Computer Basics"); DepCourse network = new DepCourse("Computer Network"); datamining.DepCourses.Add(statistics); datamining.DepCourses.Add(ml); ml.DepCourses.Add(algorithms); algorithms.DepCourses.Add(discrete); algorithms.DepCourses.Add(datastruct); compiler.DepCourses.Add(datastruct); linux.DepCourses.Add(os); linux.DepCourses.Add(c); os.DepCourses.Add(datastruct); mobile.DepCourses.Add(oop); web.DepCourses.Add(oop); web.DepCourses.Add(network); oop.DepCourses.Add(c); embedded.DepCourses.Add(c); embedded.DepCourses.Add(ca); ca.DepCourses.Add(intro); network.DepCourses.Add(intro); List <DepCourse> allCourse = DepCourse.GetAllDepCourse(); foreach (DepCourse course in allCourse) { System.Diagnostics.Debug.WriteLine(course.CourseName); } }