本科课程

大学四年学习的课程个人认为基础数学课程与专业课程相当重要,顺手整理了一下大概的课程,下述是相应的课程图,在选修课中只选择了部分,对于其他的课程是从同学和对应的培养方案中获取的,并没有深入学习,如果有出入请在评论下指出,非常感谢。同时也在GitHub上收集这些课程的相关资料🔗

graph LR
    Software[软件工程] --> Math[基础数学课]
    Software[软件工程] --> SoftwareEngineering[软件工程课程]

    Math --> HigherMathematics[高等数学上/下]
    Math --> LinearAlgebra[线性代数]
    Math --> ComputationalMethods[计算方法]
    Math --> ProbabilityTheoryAndMathematicalStatistics[概率论与数理统计]
    Math --> ComplexFunctionAndIntegralTransformation[复变函数与积分变化]
    Math --> DiscreteMathematics[离散数学]
    Math --> SignalAndSystem[信号与系统]

    SoftwareEngineering --> Required[专业必修课程]
    Required --> Elementary[基础课程]
    Elementary --> C++[C++程序设计]
    Elementary --> DataStruct[数据结构]
    Elementary --> IntroductionForElectronicTechnology[电子技术导论]
    Elementary --> Java[面向对象编程与设计Java]
    Elementary --> PrinciplesOfComputerOrganization[计算机组成原理]
    Elementary--> ComputerOperatingSystem[计算机操作系统]
    Elementary --> DatabaseSystems[数据库系统]
    Elementary --> ComputerNetworks[计算机网络]

    Required --> CoreCourses[核心课程]
    CoreCourses --> UI[用户界面设计]
    CoreCourses --> SoftwareRequirementsEngineering[软件需求工程]
    CoreCourses --> ApplicationDevelop[网页开发/安卓开发]
    CoreCourses --> NetworkingAndDistributedComputing[网络与分布计算]
    CoreCourses --> SoftwareProjectOrganizationAndManagement[软件项目组织与管理]
    CoreCourses --> SoftwareTesting[软件测试]
    CoreCourses --> TheDesignAndAnalysisOfAlgorithms[算法分析与设计]
    CoreCourses --> SoftwareEngineeringDocumentWriting[软件工程文档写作]


    SoftwareEngineering --> Optional[专业选修课程]

    Optional --> SoftwareSystemDevelopment[软件系统开发]

    SoftwareSystemDevelopment --> AdvancedTopicsOfSoftwareSystemDevelopment[软件系统开发方向前沿课程]
    SoftwareSystemDevelopment -->  ModernSoftwareEngineering[现代软件工程]
    SoftwareSystemDevelopment -->  EnterpriseApplicationDevelopmentTechnology[企业级应用软件开发技术JavaEE]
    SoftwareSystemDevelopment --> SoftwareArchitectureDesign[软件架构设计]

    Optional --> DigitalMedia[数字媒体]

    DigitalMedia --> AdvancedTopicsOfDigitalMedia[数字媒体方向前沿课程]
    DigitalMedia --> DigitalMediaTechnology[数字媒体技术]
    DigitalMedia --> ComputerGraphicsPrinciplesAndPractice[计算机图形学原理与实践]
    DigitalMedia --> DigitalImageProcessing[数字图像处理]

    Optional --> ElectronicService[电子服务]
    ElectronicService --> AdvancedTopicsOfElectronicServices[电子服务方向前沿课程]
    ElectronicService --> E-ServiceSystemDesign[电子服务系统设计]
    ElectronicService --> IntroductionToServiceScience&Engineering[服务科学与工程概论]
    ElectronicService --> IntroductionToBusinessIntelligence[商业智能导论]

    Optional --> Unlimited[任选课程]
    Unlimited --> FundamentalsOfCompiler[编译原理]
    Unlimited --> ModelDrivenSoftwareDevelopmentMethod[模型驱动的软件开发方法]
    Unlimited -->  NetworkAndInformationSecurity[网络与信息安全]
    Unlimited --> ComputationalIntelligenceMethod[计算智能方法]
    Unlimited --> NetworkTheoryAndPractice[网络技术与实践]
    Unlimited --> MachineLearningAndApplication[机器学习及应用]
    Unlimited --> AssemblerAndInterface[汇编与接口]
    Unlimited -->  DeepLearningInPython[Python程序设计-深度学习基础及应用]
    Unlimited --> IntroductionToBigData[大数据技术基础]

当然现在有很多国外的公开课,课程设计都是世界一流的,尤其是配套的实验内容,这边推荐两个项目:
1. comments-for-awesome-courses
2. cs-self-learning