This is the multi-page printable view of this section. Click here to print.
研究生
- 1: 159.225 System Analysis and Modelling
- 1.1: 159.225 Assignment1
- 1.2: Business Process Modelling with Activity Diagrams and Business Process Model and Notation (BPMN)
- 1.3: Intro to Systems Analysis and Modelling
- 1.4: Scenarios and Use Cases
- 1.4.1: lab3
- 1.5:
- 1.6:
- 2: 159.261 GamingProgramming
- 2.1: 日志
- 2.1.1: Assignment1
- 2.2: 日志
- 2.2.1: Assignment2
- 3: 备考计划
1 - 159.225 System Analysis and Modelling
1.1 - 159.225 Assignment1
Aware of content healthy and reduce translate to English - Translate and reduce AI similarity
Part1 - Assumptions & Background
Part2 - System Request
==Q1: Description and Background? (sponsor)== ==Q2: Missing Mail introduce== ==C1: Delete option report function== ==C2: Assume different system has been used by IT depatement for a while==
Project Sponsor: John smith from IT unit
Business Need: Five charities have been merged, each with its own system for tracking donors, donations, and communication. Complaints received from operations staff regarding complex processes and difficult management; and from donors regarding missing information, lack of feedback channels after donations, and delays in tracking donations; as well as the absence of a unified email system, making it difficult to attract potential donors.There is a need to create a system with single, unified database and mail function.
Business Requirements: The new system should be able to integrate donor details from all five previous systems, including information on potential and actual donors. It will track all donations made to the merged charity, regardless of the original charity's source. The system will also contain a integrated mail function as conmmunicating method to consolidating various methods used by individual charities
Business Value: reduce the administrative burden of managing multiple systems (by 40% in 5 month)
attract potential donors
rapid responce as well as tracking donations for donors (Satisfaction will increased by 30%.)
Special Issues or Constraints: Two large - scale systems have complete documentation, the other two have only user - facing documentation. Technical knowledge for these two systems may rely on staff demonstration, which could cause delays in the integration process.
Part3 Technical Feasibility analysis
==Q4: WRONG DEFINATION of The function area== ==C6: Assume external IT support still avaliable== ==C7: Assume all five charity has same process of donation==
The functional area:
Risk in the functional area is LOW
Analysts are organized from previous charities, and only those who have worked for five years or more can join the team. The analysts include both IT and non-IT departments and can fully oversee the system.
For features with missing user documentation, staff can clarify core functionalities through operational demonstrations (such as the template logic of the email generation system and the field definitions of the donation tracking system). By organizing workshops to record operational processes and create data flow diagrams, the issue of missing technical documentation can be addressed.
The technology area:
Risk in technology is LOW
Previous large charitable organizations have been integrated into the existing organization, and the IT personnel are familiar with the technical stack involved in the system, with complete user and technical documentation.
Project Size area:
Project size is modreate
The project team should be composed as much as possible of IT members with long work experience and high-level expertise. avoiding the involvement of inexperienced individuals and non-stakeholders (10-15 members).
Duration: The project duration is 10 months, which is within the reasonable range for a medium-sized system integration project
Compatibility area:
The risk in compatibility is LOW
The systems of the two large organizations are relatively well-established. The system is built on the foundations of the two largest charitable organizations. and the new system can be well integrated with these large organizations. The other three organizations have only implemented part of the features of the large systems, but the main business processes are similar. The compatibility of the technical infrastructure is moderate.
Part4 Project Management Plan
1. Project Initial and Strategy - Planning (April 2025)
Duration: 2 weeks
Tasks:
- System Request (April 17, 2025 - April 21, 2025)
- Feasibility Analysis (April 17, 2025 - April 21, 2025)
- Define Project Scope (April 17, 2025 - April 21, 2025)
- Organize Project Team (April 21, 2025 - April 25, 2025)
- Develop Project Management Plan (April 25, 2025 - April 28, 2025)
Dependencies: None
Milestone: Project initiation complete (April 28, 2025)
Responsible Role: Project Sponsor
2. Requirement Gathering - Analyzing (May 2025)
Duration: 4 weeks
Tasks:
- Develop an Analysis Strategy (May 5, 2025 - May 9, 2025)
- Model the Current System (May 5, 2025 - May 9, 2025)
- Formulate the New System (May 5, 2025 - May 9, 2025)
- Collect and Analyze Requirements (May 12, 2025 - May 19, 2025)
- Create Use Case Diagrams and Descriptions (May 26, 2025 - May 29, 2025)
- Validate and Approve Requirements (June 2, 2025 - June 5, 2025)
Dependencies: Project initiation complete
Milestone: Requirements approved (June 5, 2025)
Responsible Role: Business Analyst, Project Sposor
3. System Design (June 2025)
Duration: 3 weeks
Tasks:
- Develop Design Strategy (June 9, 2025 - June 12, 2025)
- Design Architecture and Interfaces (June 13, 2025 - June 16, 2025)
- Select Hardware, Software, and Network Requirements (June 16, 2025 - June 20, 2025)
- Develop Program Design (June 20, 2025 - June 26, 2025)
Dependencies: Requirements approval
Milestone: Design finalized (June 26, 2025)
Responsible Role: System Architect
4. Continuous Iteration (June - July 2025)
Duration: 1 week
Tasks:
- Execute Integration Testing (June 27, 2025 - June 30, 2025)
- Conduct User Acceptance Testing (UAT) with Stakeholders (July 1, 2025 - July 3, 2025)
- Fix Defects and Perform Regression Testing (July 3, 2025 - July 5, 2025)
- Validate Non-Functional Requirements (Performance, Security) (July 5, 2025 - July 7, 2025)
Dependencies: Data migration completed
Milestone: Testing completed (July 7, 2025)
Responsible Role: System Architect, Data Engineer, Stakeholders (Donors)
Methodology
==C6: Five charities won’t change address==
Methodology: Agile Development - Scrum
Project Characteristics
- There are differences in the systems of charitable organizations of different sizes.
- Delivery within a specified time frame (10-month deadline).
- The system needs to create rapid responses in case of improving the donor experience.
Scrum focuses on cross-organizational requirement integration and iterative delivery. Some requirments may unclear due to difficuty communicating to potencial and auctual donors.
The project involves organizations of different sizes and technical levels in different area. There is need for clear short time schedule, Scrum can provide schedule visibility
The new system should reliable and plan long-term use. Scrum can provided long-term itration and fully test.
Team
==C5: Assume project Sponsor is Project Manger==
1. Project Manager (1 person)
Responsibilities: Oversee project execution, ensure the project is completed on time, within budget, and within the defined scope within 10 months. Facilitate communication with stakeholders and manage project risks.
Reason: The project needs to ensure completion by having both the big picture and details, and it must coordinate team resources, manage complex system differences, and address stakeholder interests to ensure that integration meets business requirements. The project manager ensures that integration aligns with business needs by coordinating resources across different charitable organizations.
2. Business Analysts (2 people)
Responsibilities: Focuses on business issues.
Collect and document requirements from five charitable organizations through workshops, interviews, and demonstrations. Review and design business processes to ensure they meet the requirements.
Reason: During the integration process, there may be issues with existing business processes being unreasonable, incompatible, or unable to meet the requirements. Business analysts need to integrate all functions and translate user needs (such as the unfamiliarity of small organization users with complex systems) into feasible technical requirements.
3.System Architects (2 people)
Responsibilities: Design the system architecture, focusing on scalability, security, and integration with legacy systems. Define data models and interfaces to unify different infrastructures.
Reason: The project needs to integrate five different systems, including spreadsheets from small local charities and complex systems from two large charities. The system architects utilize the integration of large systems to incorporate the functionality of smaller systems. Their design ensures the system supports reporting functions and data import from spreadsheets.
4. Data Engineers (3 people)
Responsibilities: Responsible for data migration, including extracting, cleaning, transforming, and integrating donor and donation data from five systems into a unified database.
Reason: The data formats across the five charities vary significantly, ranging from spreadsheets to full databases. Data engineers use technical documentation from large systems to extract data, while cleaning and transforming data from spreadsheets to meet a 95% data quality goal within three months.
5. UI/UX Designers (1 person)
Responsibilities: Design an intuitive and user-friendly interface for users from five charitable organizations, ensuring system usability and adoption.
Reason: Small local charities lack IT staff, and employees are unfamiliar with complex systems. The UI/UX designer creates a simple interface that integrates the complex features of large systems, ensuring all users can easily navigate and use the system.
Requirement defination
Requirement definition: Charities System
Non-Functional Requirements
1. Performance:
1.1 system responses less than 2 seconds
1.2 system handle 30 number of users
1.3 system handle 5000 number of donations
1.4 system support for 20 additional charities.
2. Security:
2.1 system backup data once a week
2.2 system update user permissions once a month.
3. Usability:
3.1 system can be used in windows and ios environment
3.2 system can be used in computer phone and laptop
3.3 system support remote working and field operations.
4. Maintainability:
4.1 system update documentations everyday
5. Compliance:
5.1 system complies data protection and privacy laws (e.g., GDPR, CCPA).
5.2 system accessible to users with disabilities, follow the rules WCAG 2.1.
Functional Requirements
1.Technical staff Actions:
1.1 Technical staff can create donor records.
1.2 Technical staff can update donor records.
1.3 Technical staff can delete donor records.
1.4 Technical staff can record donations from potential donors.
1.5 Technical staff can record donations from actual donors.
2.Searching:
2.1 Company managers can search using name ,address, or contact details
3.Email sending:
3.1 Mailbox managers can send email to potential and actual donors.
3.2 Mailbox managers can track email with potential and actual donors.
3.3 Mailbox managers can get others email feedback
4. Document
4.1 Document managers can generate reports on campaign performance.
4.2 Document managers can migrate documents
4.3 Document managers can categorize documents
Requirements analysis strategies
Requirement Analysis Strategies: Problem analysis, Outcome analysis, Duration analysis
reason: The project is sensetive to time it's must finished on time, excute on Duration analysis can make sure app can finished on time.
As an integerate project Problem analysis is necessary, modlling existing system and find requirements relavent to problem.
New System should meet users need, It's necessary to excute Outcome analysis to make sure system is required by users
Require Gathering Techniques
Requirement Gethering Techniques: Using Joint Application Development (JAD) Method
Stakeholders from the five organizations will be gathered together for a series of collaborative workshops based on the current charity organization process. The workshops will follow business assumptions (including guesses about the causes of current problems and methods to optimize business processes) and will propose a solution process.
During the workshops, employees will demonstrate system processes on-site, using practical operations to fill the documentation gaps of some organizations. Given that this project has a 10-month time limit, JAD allows for the synchronized verification of requirements across all organizations and real-time conflict resolution. This structured collaboration accelerates requirement gathering and reduces delays caused by repeated communication. Since this system needs to mitigate the risks associated with users' understanding of system usage, JAD ensures the project is designed with the user at the center and helps small organization employees become familiar with the large organization’s system.
Reason: As a integrate project actual donors need on board, requirements should focus on improvements and to-be
JAD allow to get Deep information and easy to combine information together with low cost. Most improtantly, usesr can highly involve in project
StakeHolder
Senior Management of integrade charity
The existing system increases the difficulty of donor and organizational management, raising the management costs of the merged organization. The new system will optimize the organization's costs.
Donors and Potential Donors
The existing system is fragmented, and the donor experience is inconsistent. The merged new system will enhance the donor experience.
Organization Staff
The new system's email functionality will improve staff experience, since missing functionalities in some systems, staff face communication challenges with donors or potential donors, and inconsistent database data creates many difficulties in their work. and a unified database will reduce maintenance costs.
Volunteers and Partners
The new system will allow the charitable organization to respond more quickly to partners.
1.2 - Business Process Modelling with Activity Diagrams and Business Process Model and Notation (BPMN)
1.3 - Intro to Systems Analysis and Modelling
What is System
There are two jobs mainly for system
- achieve goals
- MOST IMPORTANTLY add value to existing system
A system generally contain 2 character, user and developer. Developer can get value from user and user needs will accomplished from system
For programmer build a system using code. before writing they need a plan.
SDLC
This is the MAIN concept of modelling requirement and analysis, which is the key part of hole lesson. we will talk deeply in later chapter
the workflow called Systems Development Life Cycle (SDLC), it’s a process of gradual refinement Each phase consists of a series of steps and Each phase is documented (deliverables) Phases are executed sequentially, incrementally, iteratively or in some other pattern
This 4 phase is BASIC concept, a common view is during entire develop life, developers should review and revisit in multi times, when and in which order?
Project Methodology
https://www.virtasant.com/blog/sdlc-methodologies
SDLC Methodologies are processes and practices used by software development teams in order to successfully navigate the Software Development Life Cycle (SDLC).
let’s skip old-fashioned methodology
Throwaway-Protyping
building initial ideas for different applications, interfaces, or functions, without necessarily having the intention of including them in the finished system.
the idea is to gather feedback, prove concepts, or undertake other research tasks.
Agile
Agile is the mainstream methodology used in modern software development The Agile methodology breaks a project down into multiple cycles, each passing through some or all of the SDLC phases.
Scrum
Scrum Framework provided a Practical way of Agile
kanban
kanban is another framework of agile
Kanban is a scheduling system framework, Kanban has a host of benefits when applied to Agile. You can limit WIP, focus on cycle time, and utilize just-in-time practices.
Kanban is sometimes compared to Scrum, which are similar in some ways, but are distinct frameworks:
- Scrum utilizes fixed length Sprints cycles while Kanban is about continuous flow
- Scrum is role focused, while Kanban doesn’t utilize roles
- Scrum measures velocity, while Kanban focuses on cycle time
Extreme Programming
Planning Phase
Process and Document in Planning phase
Planning Phase - Current we focus on Initiation
- system request
- feasibility analysis
System Request
A document that describes the reasons for and the value new system will add
This is the first step in the SDLC process
phases on System Request
Let’s get clearify here
- Who recommend to build - sponsor
- Why to build - business need
- What the build provided - business requirement
- What value build provided - business value
- Other
Notice: This is non-technic focus, emphasis on business aspects
Examples:
business need:
business requirement
business value
Feasibility
Once the need for system is finished, Project need more detail file
Time is a management issue, We ignored here Most team revise study during SDLC and revisit content at every check points Team may cancel the project or create substantial revisions
Technical Feasibility
- familiar business application area
- familiar with the technology, delay will cause when learning new technology
- project size
- compatibility, most cases we build a system on existing system
The assessment of a project’s technical feasibility is not cut and dried. In many cases, some interpretation of underlying conditions is needed
- one is to compare prior projects undertaken by orgnization
- another is to consult with IT professionals or external it consultants
Examples:
Business area
familiarity with technology
project size
compatibility
Analysis Phase
Required Gathering
The most critical step for SDLC. when trying develop a system. Good method of requirement gathering can prepared
high vs. low requirement
Techniques within Requirements-Gathering
Lab & Exercise 1
Documenting Lab1
Overview: A wealthy entrepreneur and art lover has decided to create an online system called ArtSpace, to assist in the display and sale of works of art. She has employed you to create a design for the system. The system is intended to bring together a range of different user groups who are interested in art sales and purchases: artists; art dealers; serious art buyers and collectors; and casual members of the public who may consider buying art works on occasion.
1.4 - Scenarios and Use Cases
Use-case
The use-cases symbol on the use case diagram shows what the actor wants to do. Not how that user goal is achieved,
Each Use-cases describe how event triggers actions performed by the system and the user. Everything can be thought of as a response to trigger event. When a trigger event occurs, the system performs the actions defined in the use-case.
Lab2
Tutorial 2: Gathering Requirements for your chosen Case Study (no formal submission needed)
This week you can do the requirements gathering for one of the design briefs (mentioned in Assignment 1 – where you have to choose the design brief based on your family name). List these requirements appropriately (e.g. create requirements definition report).
first try:
Lab3
What is UML? Why do we need this?
Unified Modeling Language, is a standardized modeling language consisting of an integrated set of diagrams, developed to help system and software developers for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems.
techniques to automate the production of software and to improve quality and reduce cost and time-to-market. techniques to manage the complexity of systems as they increase in scope and scale. In particular, they recognize the need to solve recurring architectural problems, such as physical distribution, concurrency, replication, security, load balancing and fault tolerance. (UML) was designed to respond to these needs. What does a use case diagram represent and what are the different elements of a use case diagram?
A Use Case Diagram in Unified Modeling Language (UML) is a visual representation that illustrates the interactions between users (actors) and a system.
It captures the functional requirements of a system, showing how different users engage with various use cases, or specific functionalities, within the system.
Actor, UseCase, SystemBoundary
What are we documenting when we place a use case on the diagram?
What are we documenting when we place an actor on the diagram?
Which of the following could be an actor found on a use-case diagram? Why? o Ms. Mary Smith
o Supplier
o Customer
o Internet Customer
o Data Entry Clerk
o Database Administrator
How is use-case diagramming related to functional modeling?
Why do we draw association lines between actors and use cases?
1.4.1 - lab3
Use-case Description
A user-side function model. not sequense model
Do not internal system components into user-side model. It’s no useful to users
an use action is connected with a straight line
1.5 -
方法签名
前置/后置/不变
代码复用
设计模式
框架
库
不必重造轮子 新技术会携带风险
风险: 依赖不可控
优化代码
fan-out 和 fan-in
触发器
对象设计不要用流程语言
Contracts 接口
接口由约束和返回值组成
接口表述
接口语言
接口中约束的类型
接口实例
1.6 -
系统架构
软硬间如何结合?软件如何运行
- 架构种类
- 软件架构
- 硬件架构
- 系统架构
- 信息架构
- 企业架构
- 组件
什么是系统架构
使用CORBA语言的架构
经典的3层架构
经典的3层架构
经典的数据分发可能逻辑层很小
或者很大
展示层
需要接口与用户互动
基于服务器架构,终端是笨主机
基于客户架构
CS架构
轻型客户端 - 云上应用 重型客户端 - 本地应用
2 - 159.261 GamingProgramming
159.261 Gaming Programming 游戏编程
文字笔记记录于此,代码请见 仓库
要求
- 文件名小写
- 标题首字母大写
- 所需文件以Onedrive直链接形式嵌入
2.1 - 日志
2.1.1 - Assignment1
Snake Game — Assignment 1
by Hamhuo
🕹 Introduction
This project is a classic Snake game implemented using Java AWT and a custom GameEngine.
The player controls a snake moving on a 25×25 grid, growing longer by eating apples.
The game ends if the snake hits the wall or collides with itself.
✨ Highlights
1. Efficient Direction Control
- The snake’s movement direction is managed using numeric encoding combined with XOR operations.
- Direct reversal (e.g., moving from LEFT to RIGHT immediately) is prevented with a simple and efficient one-line check:
if ((direction.getValue() ^ d.getValue()) != 2) {
this.direction = d;
}
- This approach is cleaner and more efficient than traditional if-else chains.
2. Flexible Speed and Length Configuration
Before starting the game, a settings dialog allows players to customize:
- Initial snake length
- Movement speed (cells per second)
- Grass background color
3. Smooth Time-Step Movement
- Snake movement is controlled by accumulated elapsed time rather than frame count.
- This ensures consistent movement speed across different machines or frame rates.
- The snake moves only when accumulated time exceeds its speed threshold.
public void init(int length, Direction d, Double s) {
speed = 1 / s;
// Set the snake's initial length
initLength = length;
// Initialize the snake's body as an ArrayList of Points
snakeBody = new ArrayList<>();
// Add points to the snake's body, starting at position (3, 5)
for (int i = 3; i < initLength + 3; i++) {
snakeBody.add(new Point(i, 5)); // Add each segment of the snake to the body
}
// Set the snake's head to be the first point in the body
snakeHead = snakeBody.get(0);
direction = d;
}
4. Resource Loading and Image Rendering
Separate sprite images are used for:
- Snake head
- Snake body
- Apples
- Proper resource management ensures a polished and visually consistent appearance.
🛠 Technical Features
- Object-Oriented Design (OOD) with clear class separation:
Snake
class handles snake logic (movement, growth, shrink).MainGame
class manages overall game state, rendering, and input.
- Collision detection:
- Wall collision leads to gradual shrinking.
- Self-collision (snake colliding with its body) triggers immediate game over.
- Score tracking:
- The current score is displayed near the apple’s position.
- Restart mechanism:
- Pressing
R
after game over will reset and restart the game.
- Pressing
📦 How to Run
- Open the project with IntelliJ IDEA or any Java IDE.
- Ensure the resource images (
apple.png
,dot.png
,head.png
) are correctly placed undersrc/main/resources/
. - Run
MainGame.java
. - Set your desired snake length, speed, and background color via the settings dialog.
- Play and enjoy!
2.2 - 日志
2.2.1 - Assignment2
地图制作指南
本指南帮助用户为《Slapocalypse》游戏创建自定义地图。以下是地图中使用的障碍物贴图类型及其对应的图像。每个贴图编号对应 GameController.java
中的障碍物类型,用于在地图文件(如 map5.txt
)中指定地形。地板贴图(编号 0)由系统随机选择 floorTile1
或 floorTile2
,此处仅列出障碍物贴图(1-10)。
贴图概览
地图使用以下贴图编号(1-10)表示障碍物(如墙壁、连接器、角落)。请在地图文件中使用这些编号来设计布局。
1号贴图 - 垂直墙
描述:垂直方向的墙壁,用于分隔区域,阻挡移动。
2号贴图 - 水平墙下方
描述:水平方向的墙壁下方房间,用于分隔区域,阻挡移动。
3号贴图 - 水平墙端点(左侧)
描述:水平墙的左侧端点,用于墙壁的起始点。
4号贴图 - 连接器(右侧)
描述:连接墙壁的右侧部分,通常用于墙壁的延续或连接。
5号贴图 - 右上角
描述:墙壁的右上角,用于角落转折。
6号贴图 - 水平墙(旋转90度)
描述:垂直墙(基于1号贴图旋转90度),用于特定方向的阻挡。
7号贴图 - 连接器(左侧)
描述:连接墙壁的左侧部分(基于4号贴图旋转180度)。
8号贴图 - 右下角
描述:墙壁的右下角(基于5号贴图旋转90度)。
9号贴图 - 左下角
描述:墙壁的左下角(基于5号贴图旋转180度)。
10号贴图 - 左上角
描述:墙壁的左上角(基于5号贴图旋转270度)。
贴图编号表格
以下表格总结了障碍物贴图的编号和描述,供快速参考:
贴图编号 | 描述 |
---|---|
1 | 垂直墙 |
2 | 水平墙下方 |
3 | 水平墙端点(左侧) |
4 | 连接器(右侧) |
5 | 右上角 |
6 | 水平墙(旋转90度) |
7 | 连接器(左侧) |
8 | 右下角 |
9 | 左下角 |
10 | 左上角 |
地图文件格式
- 地图文件(如
src/main/resources/map5.txt
)是一个文本文件,表示地图的网格布局。 - 每行代表地图的一行,使用空格分隔的数字(0-10)表示贴图类型,0 表示地板,1-10 表示障碍物。
- 左右必须留有 1 层厚的墙(贴图随意)
- 上下必须各留有 2 层厚的墙(贴图随意)
- 示例(7x7地图):
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 1 2 3 4 5 0
0 1 2 3 4 5 0
0 1 2 3 4 5 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
3 - 备考计划
3.1 -
- 085400 电子信息是通用方向,涵盖多个领域,适合广泛就业。
- 085404 计算机技术专注于计算机相关技术,如网络安全和嵌入式系统。
- 085405 软件工程侧重软件开发和管理,强调工程实践。
- 085410 人工智能专注于AI技术,如机器学习和计算机视觉。
- 具体选择可能影响公职考试和职业发展,需根据个人兴趣和目标决定。
专业区别概述
085400 电子信息(通用)
这是电子信息大类的通用方向,涵盖计算机技术、软件工程、人工智能、通信工程等多个领域。培养目标是让学生掌握电子信息领域的广泛知识,能够从事工程规划、设计、实施、研究、开发和管理等工作,适合希望灵活就业的学生。
085404 计算机技术
该专业专注于计算机技术领域,包括网络空间安全、区块链、智能信息处理、嵌入式系统等。培养目标是掌握先进的计算机技术,具备解决计算机相关工程问题的能力,适合对计算机硬件和系统感兴趣的学生。
085405 软件工程
此专业集中于软件开发和管理,强调使用工程化方法构建和维护软件系统。课程包括软件分析、设计、开发、测试和项目管理,培养目标是具备软件工程领域的专业技能,适合想从事软件开发的同学。
085410 人工智能
该专业专门研究人工智能技术,如机器学习、深度学习、自然语言处理、计算机视觉等。培养目标是培养能够应用AI技术解决实际问题的高级人才,适合对AI技术和创新感兴趣的学生。
背景与专业代码体系
根据2022年研究生教育学科专业目录(研究生教育学科专业目录(2022年)发布),0854是电子信息专业学位类别,涵盖多个细分方向。全国工程专业学位研究生教育指导委员会于2021年发布了《电子信息等8种专业学位类别专业领域指导性目录》(全国工程专业学位研究生教育网),明确了电子信息下的专业字段,包括085401至085412共12个方向。用户提到的085400可能指通用电子信息,未具体细分,而085404、085405、085410分别是计算机技术、软件工程和人工智能的具体方向。
各专业的详细分析
1. 085400 电子信息(通用)
- 定义与范围:085400通常作为电子信息大类的通用代码,涵盖电子信息领域的广泛内容,如计算机技术、软件工程、人工智能、通信工程等。部分学校在招生时以085400招生,后期根据学生兴趣或导师方向分配到具体细分领域(如085404计算机技术)。
- 培养目标:根据南京大学的相关培养方案(电子信息(085400)全日制工程类硕士专业学位研究生培养方案),目标是培养支持中国共产党领导、热爱祖国、遵纪守法的高层次应用型人才。学生需掌握电子信息领域的坚实基础理论和广泛专业知识,熟悉相关规范,能够独立承担工程规划、设计、实施、研究、开发和管理工作,掌握一门外语。
- 课程与研究内容:课程设置较为灵活,可能包括计算机科学、通信工程、电子技术等多个领域的课程,具体取决于学校和导师。研究内容可能涉及智能信息处理、嵌入式系统、信号处理等。
- 就业方向:适合进入科技企业、通信行业、互联网公司等,职业范围较广,但可能在某些对专业要求较高的公职考试中不如细分方向有优势。例如,博客园文章提到(关于电子信息细分专业选择),私企可能更看重实际技能,而公职考试可能更倾向于细分专业。
- 特点:灵活性高,适合对具体方向尚未明确的学生,但专业性可能不如细分方向强。
专业性不强
2. 085404 计算机技术
- 定义与范围:根据专业目录,085404为计算机技术方向,专注于计算机硬件、软件和系统技术,包括网络空间安全、区块链、智能信息处理、嵌入式系统等。
- 培养目标:以深圳技术大学为例(085404 计算机技术(专业学位)),目标是培养支持党的基本路线、热爱祖国的高层次人才,掌握网络空间安全、区块链等先进技术,具备解决工程或管理问题的能力,强调创新和综合素质。
- 课程与研究内容:课程可能包括高级计算机架构、操作系统、计算机网络、嵌入式系统设计等,研究方向可能涉及智能传感器、分布式系统等。
- 就业方向:适合从事计算机系统开发、IT基础设施建设、网络安全等领域的工作,尤其在科技企业和政府部门有需求。知乎讨论提到(知乎文章),085404在公职考试中可能有专业限制优势。
- 特点:考试难度较高,例如知乎评论提到408考试较难(“等等,不是085404里的408最难吗?11408”),适合对计算机技术有深入兴趣的学生。
3. 085405 软件工程
- 定义与范围:085405为软件工程方向,专注于软件开发和管理,强调工程化方法。百度百科定义(软件工程)指出其研究大规模软件开发方法和技术。
- 培养目标:以太原理工大学为例(软件工程专业学位研究生(085405)培养方案),目标是培养德智体美劳全面发展的应用型人才,掌握软件工程的坚实理论和专业技术,具备软件分析、设计、开发、测试和项目管理能力,强调团队协作和工程实践。
- 课程与研究内容:课程包括软件设计模式、软件测试、项目管理、软件质量保证等,研究可能涉及大数据建模、智能感知模型等(如中国研究生招生信息网软件工程)。
- 就业方向:适合从事软件开发、软件项目管理、IT咨询等工作,特别是在软件公司和互联网企业有广泛需求。知乎讨论提到(知乎文章),085405可能在某些公职考试中被视为“三不限”(无限制),与085212相比有优势。
- 特点:强调实践能力,适合想从事软件开发的同学。
4. 085410 人工智能
- 定义与范围:085410为人工智能方向,专注于AI技术,包括机器学习、深度学习、自然语言处理、计算机视觉等。根据北京信息科技大学(085410-电子信息(人工智能-中外合作办学项目)),该方向与新兴技术紧密相关。
- 培养目标:目标是培养具有国际化视野和创新能力的高层次人才,掌握AI领域的坚实理论和专业知识,能够独立承担AI相关工程任务,如机器视觉、自然语言处理等。强调社会责任感和科学严谨态度。
- 课程与研究内容:课程可能包括机器学习算法、数据挖掘、神经网络、AI应用开发等,研究方向可能涉及电力行业AI应用(如上海电力学院085410人工智能专业介绍)或医学图像处理(如郑州轻工业大学人工智能人才培养方案)。
- 就业方向:适合从事AI研发、算法工程师、智能系统开发等工作,特别是在科技公司、医疗行业和智能制造领域有需求。
- 特点:新兴方向,发展潜力大,但对数学和编程能力要求较高,适合对AI技术有浓厚兴趣的学生。
就业难,门槛高,需要读博士
比较与选择建议
以下表格总结各专业的核心区别:
专业代码 | 专业名称 | 重点领域 | 培养目标 | 就业方向 |
---|---|---|---|---|
085400 | 电子信息(通用) | 电子信息多个领域 | 掌握广泛知识,灵活就业 | 科技企业、通信行业、互联网公司等 |
085404 | 计算机技术 | 计算机硬件、软件、系统技术 | 掌握计算机技术,解决工程问题 | IT基础设施、网络安全等领域 |
085405 | 软件工程 | 软件开发与管理 | 具备软件工程实践能力,解决软件问题 | 软件开发、项目管理、IT咨询 |
085410 | 人工智能 | AI技术如机器学习、计算机视觉 | 应用AI技术解决实际问题,创新能力强 | AI研发、算法工程师、智能系统开发 |
- 考试与职业影响:知乎讨论(知乎文章)指出,细分专业如085404、085405、085410在公职考试中可能有专业限制优势,而085400更适合私企就业。选择时需考虑目标职业对专业要求的具体性。
- 个人兴趣与发展:建议根据个人兴趣和职业规划选择。例如,对计算机系统感兴趣可选085404;对软件开发感兴趣可选085405;对AI技术有热情可选085410;若不确定方向,可选择085400以保持灵活性。
关键引文
3.2 -
资料搜集/准备书籍/资料是否齐全最新/购买书籍
408 共考4门
- 组成
- 网络
- 系统
- 数据结构 其中系统涉及汇编,结构涉及C/C++ 因此还要加上一门C语言,共5门课
满分 150分
《数据结构》45分
《计算机组成原理》45分
《操作系统》35分
《计算机网络》25分
单项选择题:80分(40小题,每小题2分)
综合应用题:70分
路径 组成+C+操作系统 - 计网/数据结构
资料搜集
由于408系统全程班只有王道值得推荐但高昂的售价加上质量参差不齐难以接受 因此需要按照考纲-知识点的模式拼凑课程 习题部分采用王道和竟成408的套卷 真题以及课后习题采用湖科大教书匠
王道
目前采用王道的C语言领航班 + 课后习题
湖科大教书匠
目前教书匠有两门课程 组成和网络 但是由于缺乏系统的习题以及模拟题,只能作为基础课使用 采用 组成和网络
竟成408
这是一套408模拟题 风评不错学长推荐 可以作为练习题使用,基础阶段不使用
时间安排
3.3 -
“学硕”和“专硕”有什么区别? 学硕就是学术型硕士,专硕就是专业型硕士。 各院校对“专硕”的招生人数远比“学硕”人数要多 目前来看不管是学硕还是专硕,报考人数都是逐渐上升的趋势,其实这主要是因为每一年的考研人数在逐渐上升,但专硕的招生人数却要比学硕多很多,也因此很多考研党考上了专硕。 专硕招生人数多也有一定的原因,主要是教育部强调要对研究生计划增量,但考研也是严进严出了,所以考研的录取率不太高,专硕的录取率也就占了更大的优势,比学硕录取率高一些。
学硕和专硕的培养目标不同 学硕和专硕都是属于同一个层次,但两者的培养目标是不同的,学硕其实更侧重于理论的研究,类似于培养科研人员或者是大学老师等为主,主要是侧重学术研究方向。 而专硕其实更侧重于实践应用,一般专硕毕业后不从事一些学术研究,而是做一些具体的职业性强的工作,像是医生、老师、律师、以及工程师等。
考试难度不同 两者研究生考试的科目其实是有差别的,在其他的科目相同的情况下,公共英语科目考试有差别,学硕考的“英语一”而专硕考的是“英语二”,英语二要比英语一难度小一些。 所以可以理解为学硕比专硕会更难考一些,因为英语科目的难度要高一些,但其他的专业科目的难度,学硕和专硕不会有太大的明显区别,所以难度主要在英语科目上。
3.4 -
目前情况
6700 预算 预估总时长 1500h +- 240h 分为整块/零散时间
时间安排
现在 - 2027/6/~ 结束
-
2025/5/21 - 2025/5/28 考研信息扫盲/确定院校/确定复习强度/确定时间安排
-
2025/5/28 - 2025/5/31 过渡时期,验证计划合理
- 数学各听一节/确定风格/资料是否齐全最新/是否有习题答案/有无必要购买资料
- 政治资料搜集/是否齐全最新/是否有习题答案/是否必要购买资料
- 408资料搜集/准备书籍/资料是否齐全最新/购买书籍
-
2025/6/1 - 8/31 基础阶段
- 数学基础阶段/0基础/着重概念/总结
- 英语核心词汇一刷(目前每天61词)
- 408基础阶段/着重概念/总结
- 2025/7/1 英语真题一刷开始
-
2025/9/1 - 2025/10/31 提高阶段
- 开模考
- 预报名
- 刷真题
- 408模考
-
2025/11/1 - 2025/12/21 冲刺阶段
- 政治真题
-
2025/12/22 考研一战
-
2026/2/22 初试成绩
-
2026/2/28 准备复试
- 上机
- 项目
-
2026/3/27 复试
-
2026/12/22 考研二战
-
2027/4/~ 复试
-
2027/6/~ 录取
课程
11408
数一
未选课
英一
核心5600 一刷 + 真题
408
王道+湖科大 课程+真题解析 竟成模考 自顶向下
时间表
7:00 - 7:30 起床 7:30 - 11:30 数学任务
2:00 - 2:30 午休醒神 2:30 - 6:30 408任务
7:30 - 9:00 新思想
目标院校与专业
专业类别
- (0854) 电子信息 专业硕士
目标区域
- A区 北京
目标专业
软件工程
计算机科学
保守
-
中国矿业大学(北京)
-
华北电力 软件工程 (分方向)
-
华北电力 计算机技术 (分方向)
-
北京化工大学 计算机技术
激进
-
北京理工大学 软件工程
-
北京理工大学 计算机技术
-
北京工业 软件工程
-
北京工业 计算机技术
-
北京科技 计算机技术
-
北京邮电 软件工程
-
北京航空航天 软件工程
-
北京航空航天 计算机技术
目标分数
350-390 区间
科目确定
11408/12408
时间规划
上午4小时 下午4小时 晚上看情况 1-2小时 睡前单词 零碎时间政治
3.5 -
![[5月27日 1.txt]] #### 408备考分享 背景24级 复试线 375
为什么选择科软(软件院)- 潜规则部分
择校方面
-
自由度
-
复试友好
-
录取名额
-
实习
初试准备
所有科目分为两种 整块时间/零散时间
数学 和 408 必须安排整块时间准备,不能分心,推荐上午数学,下午408晚上再说 有助于和考试时间对齐
英语尽量提前开始,但用零散时间准备 政治前期当转换心情
政治
徐涛/肖秀荣/腿姐 简单的笔记/配套选择题/梳理逻辑
强化阶段: 刷题/背诵手册/肖八的选择部分
12月 肖四的选择/大题
注意: 不要突击,注意笔速字迹
英语
不要听网课 看书
打底稿,再抄写
十分推荐睡前背诵
数学
网课 张宇/武忠祥,多看几个老师看看节奏
前期在于理解和梳理
强化冲刺,刷题很重要,总结更重要
每节对答案
408
模式化严重,应试性极强。考的不是很难。
计算机网络自顶向下
王道/湖科大教书匠/竞成408的模拟题
操作系统和组成原理视为一门课,一起听一起学
多而杂,概念多不难
找408考纲
潜规则
一定注意卡线
英语80以上研究生英语可以免修
科软
- 不看简历
面试和雅思类似,自我介绍的延伸
机试
初试完成后准备即可,专项刷题并且总结回顾。需要熟练度
力扣200即可
Q&A
考研准备相关
数学备考
Q: 数学基础和强化阶段各建议分配多长时间?
A:
数学基础和强化阶段的时间分配因个人能力而异。如果你的数学基础较好,可以快速完成基础阶段,节省时间用于强化;如果基础较弱,则需要更多时间打牢基础。建议根据自身情况灵活调整,但通常基础阶段至少需要2-3个月,强化阶段需要3-4个月,确保循序渐进。
Q: 数学备考时做了哪些习题和套卷?
A:
数学备考主要使用了张宇老师的全套习题、武忠祥老师的部分习题,以及后续的模拟卷。数学备考需要大量刷题,通过反复练习巩固知识点,建议多做真题和模拟题以适应考试节奏。
Q: 数学基础是否过关的标准是什么?
A:
数学基础是否过关的标准在于能否理解并区分基本概念,例如“可微”和“可导”的区别。概念性知识是解题的基础,只有理解透彻,才能灵活运用。
408备考
Q: 408笔记该怎么做?
A:
建议先搜索网上的408笔记分享,参考其整理方法。数据结构的笔记相对较少,操作系统和计算机网络的内容较多且零散,推荐阅读《计算机网络:自顶向下方法》,并结合书本梳理知识点。笔记应注重框架性和逻辑性,避免杂乱无章。
Q: 408各科目的具体备考时间线是什么?
A:
备考时间线因人而异,建议根据个人进度安排。数学和408应尽早开始,基础较差的考生至少需要6个月备考时间。初期以基础学习为主,中期强化知识,后期刷题冲刺。
Q: 王道书怎么看?
A:
建议先观看相关课程,边学边做笔记,梳理知识框架后再根据笔记复习。王道书应带着理解性记忆的思路阅读,避免死记硬背,确保知识点融会贯通。
Q: 408学习时如何平衡广度和深度?
A:
第一轮学习时优先注重广度,确保理解所有基本概念,并梳理概念之间的关系。深度理解可以在后续轮次逐步加强,通过刷题和总结加深掌握。
Q: 408的计组(操作系统)难不难?
A:
学习操作系统时可能感觉较难,但考试内容并不复杂。建议通过笔记或视频讲解串联知识点,以理解性记忆为主,掌握核心概念即可应对考试。
项目与科研
Q: 考研期间是否需要做项目?
A:
初试阶段应专注考试内容,不必分心做项目。复试时再根据目标院校的要求准备项目经历,合理安排时间即可。
Q: 本科科研经历很少,对考研有影响吗?
A:
科研经历对就业导向的学校(如科软)影响较小。复试时如实说明即可,一篇小论文不会对考研结果造成显著影响。
Q: 大项目对复试加分有帮助吗?
A:
多数学校会对大项目加分,但专业面试的加分效果可能不明显。展示项目时,应突出思路、需求分析和技术选择,而非仅靠代码细节取胜。
英语备考
Q: 英语备考的重点是什么?
A:
英语备考的重点是背单词和刷真题。作文练习时,建议总结从句、倒装句等高级句式,避免直接套用模板,确保语言自然且有亮点。
Q: 英语四级对考研有影响吗?
A:
英语四级成绩不直接影响考研,即使挂科也不会有太大问题,关键是考研英语的实际表现。
政治备考
Q: 政治备考有什么建议?
A:
建议构建知识体系,通过串联记忆加深理解。政治考试不需要死记硬背,能形成印象并串联知识点即可应对。
复试准备
Q: 复试机试的占比是多少?
A:
复试总分225分,其中机试占100分,每道题25分。通常通过(AC)两道半到三道题较为稳妥,题目难度多为力扣的简单到中等水平。
Q: 复试时会问本科所获得的奖项吗?
A:
复试时可能会聊到本科奖项,如实回答即可。竞赛奖项(如数学建模一等奖)有一定加分作用,但不是决定性因素。
调剂与毕业后考研
Q: 408专业的调剂难度如何?
A:
408专业的调剂难度较大,尤其是中科院相关院校。建议全力备考初试,确保分数过线,避免陷入调剂困境。
Q: 毕业后考研是否可行?
A:
毕业后考研是可行的,但需根据自身情况选择:专心备考、边工作边考还是裸考。裸考风险较高,建议谨慎选择并做好规划。
学习方法与资源
学习效率
Q: 如何提高学习效率?
A:
建议采用广度优先的学习方式,先理解所有基本概念,再逐步深入。使用电子化笔记工具(如幕布、MindMaster)整理知识,提高复习效率。
Q: 如何处理错题?
A:
将错题分类整理,标注错误原因(如所属模块、错误类型等),并定期复习。分析错因是提升学习效果的关键,避免重复犯错。
Q: 基础课后习题怎么处理?
A:
基础阶段做课后习题以巩固知识,强化阶段再做更复杂的代码题,分阶段循序渐进。
资源推荐
Q: 408备考推荐哪些资源?
A:
推荐B站上的“胡科大教书匠”和“竞成408考研”课程,内容针对性强,适合应试备考。
Q: 数学备考推荐哪些资源?
A:
推荐张宇老师和武忠祥老师的习题资源,涵盖基础到强化,适合全面练习。
Q: 英语备考推荐哪些资源?
A:
推荐关注B站考研英语课程或相关APP,获取作文素材和单词总结,高效备考。
状态调整
Q: 休息是如何安排的
A: 上午3-4小时 中午午觉 下午学3-4小时 晚上看情况休息,在学一会
Q: 考研期间如何调整状态?
A:
保持规律作息,确保头脑清醒。压力大时可通过运动缓解,寒暑假建议在自习室学习,避免在家分心。
Q: 学不进去时怎么办?
A:
减少娱乐干扰,如锁手机、卸载游戏。及时复习和总结,避免只学新内容不回顾,保持学习节奏。
院校与就业方向
院校选择
Q: B区211与经济发达地区一本如何选择?
A:
选择时需综合考虑就业前景、学校知名度、考公需求及复试竞争情况。复试中,学校背景和竞赛奖项(如数学建模一等奖)都有一定竞争力。
Q: 科软(计算机软件类院校)的研究生安排如何?
A:
科软偏向就业,专硕名额较多。研一以课程为主,研二以实习为主,研三初开始写论文,论文完成后可继续实习。
Q: 科软的就业方向是什么?
A:
主要就业方向包括Java开发、大数据、音视频技术、游戏开发和量化分析等。计算机视觉(CR)方向较少,建议先学Java,入职后再转其他语言。
Q: 合肥的实习机会如何?
A:
合肥有中场或特定领域的头部公司实习机会,但互联网氛围不如大城市。就业联系主要通过学长群内推、招聘会和官网投递。
读博机会
Q: 科软有读博机会吗?
A:
科软提供连读培养方向,学生可联系计算机学院老师进入实验室,探索读博可能性。
其他
本科课程
Q: 本科的数学和英语对考研有影响吗?
A:
本科数学和英语的难度通常低于考研,建议不挂科并打好基础。英语四级成绩不影响考研。
竞赛经历
Q: 竞赛经历对考研有帮助吗?
A:
数学竞赛等经历有一定加分作用,但不是决定性因素。创新创业竞赛的必要性不大。
住宿与生活
Q: 科软的住宿条件如何?
A:
南校区提供较宽敞的四人间宿舍,高新校区宿舍较拥挤。据传将建设新宿舍楼,但目前尚未落实。
学硕与专硕
Q: 学硕和专硕有什么区别?
A:
学硕名额较少,偏向科研;专硕名额较多,偏向就业。科软近年以专硕为主。
跨考
Q: 跨考的难度如何?
A:
跨考友好院校如北大软微和科软较为适合,备考周期通常为10-12个月,具体难度取决于个人基础。
建议
- 提问技巧:向学长学姐提问时,针对他们的背景(如本硕985)提出有价值的问题,例如学习方法、数学解题思路等。
- 信息收集:利用百度、知乎等平台,以及目标院校的学长学姐资源,关注考研APP和B站相关内容。
- 心态调整:担心考不上是正常现象,建议全力备考,保持积极心态。
3.6 -
层次选择
计算机院校是分三六九等的。大致分为六级
- 第一级:清北、中科院强所、强985优势专业
- 第二级:强985高校、普通985但强势专业、211特色强校
- 第三级:普通985高校、211优势专业、普通特色强校
- 第四级:普通211、一本强校
- 第五级:普通一本、二本强势专业
- 第六级:普通二本、三本院校
全国211/985
第五轮学科评估
第一级:清北、中科院强所、强985优势专业
A+列高校+中科院
第二级:强985高校、普通985但强势专业、211特色强校
对应A、A-列高校
第三级:普通985高校、211优势专业、普通特色强校
对应B+、B列高校
第四级:普通211、一本强校
对应B-、C+列高校
第五级:普通一本、二本强势专业
对应C、C-、未参评特色211高校
第六级:普通二本、三本院校
不建议考,普通二本类研究生,真的没太大意义,这个学历并不能为你增彩多少,反而浪费了三年。
以当前层次院校,向上跳两级为合适目标
报录比
3.7 -
考研数学一题型分值 (共23题)
单项选择题: 10题(每题5分),共50分
填空题: 6题(每题5分),共30分
解答证明题 (下称为大题) : 6题,共70分
考研数学考试内容
高等数学,90分,约占比60%;4道选择题,4道填空题,4道大题
线性代数,30分,约占比20%;3道选择题,1道填空题,1道大题
概率论与数理统计,30分,约占比20%:3道选择题,1道填空题,1道大题
按轮复习 高数 - 线代/概率
高数
基础阶段 - 确定课程 张宇基础课 6/1 - 6/30 共96学时 48学时课程+48学时作业/总结 + 5天(20小时)余量 660题 + 30讲课后题目 + 汤家风课后题目 + 每章笔记